我在System.Data.SQLite
之上编写了一个库,并在使用Parallel.ForEach
时意识到它(我的库)具有不可预测的行为。我最终可能会调试这个(即如果我得到/花时间),最有可能是锁定正确的部分,但是现在让我们说我想阻止使用Parallel.ForEach
,或者强制使用我的库来允许(或导致)只有一个线程,我将如何进行?
答案 0 :(得分:5)
您无法控制外部代码使用API的方式。如果这是你在发布之前无法解决的问题,那么在文档中明确失败案例(XML注释和任何类型的“帮助文件”)都是一个好主意。
答案 1 :(得分:3)
一些快速的线程静态属性可能会解决您的并发问题,但这有点像一个更大的冰山一角。修复根本原因,而不是症状。