据我所知,BlockingCollection使用非忙等待,这是对新项目/回调的通知。所以我不明白它是如何阻塞但我认为我可能混合被阻止的线程并阻止访问共享对象?
答案 0 :(得分:1)
这是一个很好的解释:
https://blogs.msdn.microsoft.com/toub/2006/04/12/blocking-queues/
基本上,当您尝试DeQueue时会发生阻塞。 EnQueue是线程安全的,而DeQueue将阻塞(阻塞调用DeQueue的线程),直到有东西可以获得。
好消息是你不必关心(也不应该关心)如何实现阻止。