【发布时间】:2015-04-06 11:24:23
【问题描述】:
我使用 AsParallel() 进行查询。在我的情况下,ForAll 有时会跳过一些记录,有时会返回空记录。
我不确定这是不是这个的确切原因。 .Net中的parallal for in 的机制可靠吗?
编辑: 示例代码
var collection=.. Collection from database
var processedCollection=...
collection.Where(h => h.Id == id).AsParallel().ForAll(h =>
{
var processedCollectionItem = ....logic to process the item
processedCollectionItem.Where(c=>c.....).AsParallel().ForAll(c =>
{
//logic to process the records
});
processedCollection.Add(processedCollectionItem);
});
【问题讨论】:
-
我强烈怀疑是您的 usage 有问题,而不是 BCL。你能发布一个简短但完整的程序来演示这个问题吗?
标签: c# c#-4.0 parallel.foreach reliability