我在 C# 3.0 中使用 Generic.Queue 和 Monitor.Enter,wait,exit 等待在使用队列之前等待(等待元素入队)。现在我转向 C# 4。
任何人都可以建议我哪一个是快速和最好的,尤其是避免锁定..
BlockingCollection vs concurrentQueue 或其他任何东西......
笔记。我不想限制我的制作人
提前致谢..
我在 C# 3.0 中使用 Generic.Queue 和 Monitor.Enter,wait,exit 等待在使用队列之前等待(等待元素入队)。现在我转向 C# 4。
任何人都可以建议我哪一个是快速和最好的,尤其是避免锁定..
BlockingCollection vs concurrentQueue 或其他任何东西......
笔记。我不想限制我的制作人
提前致谢..
BlockingCollection
正是ConcurrentQueue
出于这个原因。我怀疑您会发现更好或更易于使用的东西。并行扩展团队知道他们的东西 :)
不过,只是快速检查一下版本 - 您肯定使用的是 .NET 4,而不仅仅是 C# 4?(例如,您可能正在使用 Visual Studio 2010 和 C# 4,但仍以 .NET 3.5 为目标,在这种情况下,您无法使用并行扩展。)
您可能还想开始研究基于任务的异步模式、TPL 数据流和C# 5 的 async/await 特性……显然您还不能使用它们,但知道会发生什么并没有什么坏处。