【问题标题】:Linked List Thread safe?链表线程安全吗?
【发布时间】:2009-03-15 21:47:47
【问题描述】:

好吧,我在 .net 中写作,我有一个女巫列表,我只会添加项目永远不会删除,它是一个链接列表,如果它不是最好的选择,我可以更改它,但任何方式都可以安全地不在这种情况下使用任何锁定,当我知道这个列表永远不会以任何其他方式更改但它被添加到? (尝试添加到列表时会使用锁)?

【问题讨论】:

    标签: c# .net multithreading


    【解决方案1】:

    没有;为了支持许多读者和一位作者(对 Jared 的回复的 cmets),您可能需要查看 ReaderWriterLockSlim。作者需要独占访问权限;读者可以合作。这就是ReaderWriterLockSlim 所做的。还有ReaderWriterLockpre 3.5。

    您需要手动处理进入/退出等 - 最好通过 try/finally。

    【讨论】:

      【解决方案2】:

      不,这不安全。 LinkedList 不是线程安全的类。 LinkedList 唯一支持的多线程场景是多个阅读器

      http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx

      【讨论】:

      • 好吧,这就是我想说的对不起,如果我写它有点错过领导,很多读者,只有一位作家……那会安全吗,或者当时至少只有一位作家。
      • @Petoj - 与写入器同时读取是不安全的 - 即使写入仅限于单个线程。
      猜你喜欢
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 2010-10-16
      • 2011-09-13
      相关资源
      最近更新 更多