.NET上的线程安全阻塞队列实现

Shr*_*ike 17 .net queue collections multithreading

我正在寻找.NET的线程安全阻塞队列的实现.通过"线程安全阻塞队列"我的意思是: - 线程安全访问队列,其中Dequeue方法调用阻塞一个线程,直到其他线程放入(Enqueue)某个值.

到目前为止,我发现了这个:http://www.eggheadcafe.com/articles/20060414.asp (但它适用于.NET 1.1).

有人可以评论/批评这种实施的正确性.或建议另一个.提前致谢.

Sam*_*ell 20

作为参考,.NET 4引入了System.Collections.Concurrent.BlockingCollection<T>解决此问题的类型.对于非阻塞队列,您可以使用System.Collections.Concurrent.ConcurrentQueue<T>.请注意,ConcurrentQueue<T>可能会将其用作BlockingCollection<T>OP用法的基础数据存储区.


Mar*_*ell 9

怎么样在.NET中创建一个阻塞队列

如果你需要它用于.NET 1.1(我不确定问题),只需删除泛型并替换Tobject.