对于我这个问题,要不要使用读写锁???
zjjvs 2012-02-11 08:51:05
↓ th分发线程
数组元素: 0 1 ...... 9
↑ ↑ ...... ↑
t0 t1 ...... t9 作业线程
如图所示,分发线程th不断的从目录下面读取每一个文件内容,每一个文件的内容放入数组A中的每一个元素中。t0 到 t9 每个线程处理指定的每个数组元素,既t0只处理数组A下标为0的元素内容。。。现在有两种方案:
1,使用读-写锁。th对数组A加写模式锁,线程t0....t9对数组A加读模式锁
2,不加锁。使用一个标志变量int flag等于0或者1,标志每个数组元素内容是否被线程t0...t9处理了。线程th轮询每个数组元素,当某个数组元素内容被处理完之后,th便分发内容给它。
请问,这两种方案是否可行?哪个方案更为优化?多谢大家帮忙了!