读书人

头都想炸了并行计算十次以后结果变了

发布时间: 2013-08-13 16:43:28 作者: rapoo

头都想炸了,并行计算10次以后结果变了。。。

System.Threading.Tasks.Parallel.For(0, sum, (i) =>
{
//需要并行运算的方法
)};


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

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

去掉并行,是正确的。

哪位大神能解释一下,这是怎么回事?
[解决办法]
公用资源被调用的时候没有锁定
[解决办法]
如果没有修改,只是读取,就不需要上锁了

读书人网 >C#

热点推荐