【发布时间】:2014-05-15 01:03:13
【问题描述】:
我在 C# 应用程序中使用两个线程访问相同的 BlockingCollection。这很好用,但我想两次检索第一个值,以便两个线程检索相同的值 *。
几秒钟后,我想轮询两个线程的 currentIndex 并删除每个值
我怎样才能做到这一点?我想我需要另一种类型的缓冲区..?
提前谢谢你!
*如果thread1调用了.Take(),则该item在collection中被移除,thread2无法再次获取相同的item。
更新:
我想将数据存储在缓冲区中,例如 thread1 将数据保存到 HDD,thread2 分析(相同)数据(并发)。
【问题讨论】:
-
你的问题很不寻常。我怀疑它与您的程序设计有关。你能给我们更多关于你的程序做什么的信息——特别是数据流吗?我怀疑我们可以为您提供更好的选择。
标签: c# multithreading blockingcollection