【问题标题】:What should I use to make a threadsafe "list"? [duplicate]我应该用什么来制作线程安全的“列表”? [复制]
【发布时间】:2015-11-06 08:29:51
【问题描述】:

首先我想告诉你我的目标是什么:我想建立一个线程安全列表。 (我不能使用队列,因为我们应该只使用队列进行 FIFO) 此列表应填写在一个线程中,而在另一个线程中我想解决它。我的意思是,我想总是分析列表中的所有条目,并根据特定的 Int 值对它们进行排序。然后我想对列表中“最重要”的条目做一些事情等等......

谢谢!

【问题讨论】:

  • 你描述的听起来不像是列表,而是优先排队。
  • 谢谢 Yeldar,Framework 中有类似的东西吗?还是我必须自己构建?
  • .NET 中好像没有这样的数据结构。您可以自己实现它(也许在现有线程安全集合的帮助下)或在 Internet 上找到解决方案。例如,我在 Google 上找到了这个:github.com/dshulepov/ConcurrentPriorityQueue。但是,我不确定它是否有效或合适:) 如果有效 - 请告诉我,以便我可以将其写为答案。
  • Yeldar,我实现了类似的东西。我用过这个:github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp 它绝对易于使用并且效果很好。谢谢你的提示!您可以将其写为答案。 :)

标签: c# list thread-safety queue


【解决方案1】:

与其重新发明轮子(如果你愿意,你可以这样做),并且鉴于你似乎需要一个线程安全的 LIFO 系统,我建议你使用ConcurrentStack Class

【讨论】:

  • 但我不想要 LIFO 系统。我想“把所有东西都推进去”,然后我想按我的意愿对其进行排序。
  • @xileb0 哇。那我误解了这个问题,对不起
猜你喜欢
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 2019-03-12
  • 2014-10-26
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
相关资源
最近更新 更多