禁止或禁止使用Parallel.ForEach

时间:2012-05-03 02:40:39

标签: c# c#-4.0 parallel-processing parallel.foreach

我在System.Data.SQLite之上编写了一个库,并在使用Parallel.ForEach时意识到它(我的库)具有不可预测的行为。我最终可能会调试这个(即如果我得到/花时间),最有可能是锁定正确的部分,但是现在让我们说我想阻止使用Parallel.ForEach,或者强制使用我的库来允许(或导致)只有一个线程,我将如何进行?

2 个答案:

答案 0 :(得分:5)

您无法控制外部代码使用API​​的方式。如果这是你在发布之前无法解决的问题,那么在文档中明确失败案例(XML注释和任何类型的“帮助文件”)都是一个好主意。

答案 1 :(得分:3)

一些快速的线程静态属性可能会解决您的并发问题,但这有点像一个更大的冰山一角。修复根本原因,而不是症状。