在并发程序中将对象从BlockingQueue中取出而不碰到竞争条件的最佳方法是什么?我目前在做以下,我不相信这是最好的方法: BlockingQueue<Violation> vQueue;
/*
in the constructor I pass in a BlockingQueue object
full of violations that need to be processed
我正在寻找一种在C#中获取并发集合或至少支持并发枚举器的集合的方法。现在,当我迭代的集合发生变化时,我得到一个InvalidOperationException异常。我可能只是深拷贝的收集和使用私人拷贝工作,但我不知道是否有可能是一个更好的办法 代码片段: foreach (String s in (List<String>)callingForm.Invoke(callingForm.deleg