在多线程应用程序中。我有一堆遍历集合以读取信息的函数。我还有一堆修改相同集合的函数。

我正在寻找一种将所有读取和写入隔离在一起的方法。我不希望在读取过程中完成写入。我当时正在考虑在集合对象上使用SyncLock,但这会阻止多次读取以尝试并行工作。

最佳答案

您考虑过ReaderWriterLockSlim吗?您可能想要check that using it is faster than a simple Monitor lock。不要考虑使用较旧的ReaderWriterLock。这是杰弗里·里希特(Jeffrey Richter)所说的:

09-27 19:17