代码之家  ›  专栏  ›  技术社区  ›  the_lotus

多线程隔离读写

  •  3
  • the_lotus  · 技术社区  · 15 年前

    在多线程应用程序中。我有一堆函数,循环遍历一个集合来读取信息。我还有一堆函数可以修改同一个集合。

    我在寻找一种方法把所有的读写分离在一起。我不想在阅读的过程中写东西。我想在collection对象上使用synclock,但这将阻止多个试图并行工作的读取。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Community CDub    7 年前

    你考虑过 ReaderWriterLockSlim ?你可能想 check that using it is faster than a simple Monitor lock 不过。不要考虑旧的readerwriterlock。以下是杰弗里·里克特对此的看法:

    Microsoft.NET框架类 库包括一个readerwriterlock 系统中的类。线程 用于获取 多读/单写 语义学。很好的是 这样的类存在,有 its的几个问题 我建议你这样做 不要使用它。