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

头都想炸了,并行计算10次以后结果变了。。。
 
System.Threading.Tasks.Parallel.For(0, sum, (i) =>
            {
//需要并行运算的方法
)};


算法修改的是一个 ref List<int>,通过按钮的按下事件实现

结果,点击10次结果正确,10次以后结果就开始变化了,100次以后面目全非....感觉是某一条记录一直在覆盖其他的数据,最后整个表的记录都变成一模一样了。

去掉并行,是正确的。

哪位大神能解释一下,这是怎么回事?

------解决方案--------------------
公用资源被调用的时候没有锁定
------解决方案--------------------
如果没有修改,只是读取,就不需要上锁了