日期:2014-05-17  浏览次数:20953 次

关于.net 4.0下并行计算的问题
我估计应该是很简单的一个问题,请各位帮忙解惑!

有一个list,需要把它的每个元素进行一下处理,但是在处理过程中可能生成新的元素又加到这个list里来,因此其大小是不固定的
现在我想采用并行计算来处理这个list,初步思路是:假设有两个核,我把这个list平均分成两部分作为两个task,然后调用parallel.invoke,但是这两个list中,每个list生成新的元素的数量是不一定的,也就是说,也许运行过程中,task2还有好多元素没有处理,但task1开始闲着了

请问这种情况该怎么处理?我用的方式是最佳方式么?
------解决方案--------------------
引用:
引用:引用:引用:引用:引用:不要用List用Queue 
两边线程同时
while(Queue.Count>0)
{
   lock(Queue)
   {
     xxx=Queue.D……

。。。不是的
我是意思,你在从List取出 取什么由你决定,取出后插到队列里。明白?