日期:2014-05-18  浏览次数:21167 次

并发集合类的线程安全问题~~~~
if (concurrentQueue.Count<_maxCount)
 {
  concurrentQueue.Enqueue(obj);
  }

请问这段代码线程安全吗?
感觉 [判断长度]和 [添加项到队列] 两个操作之间 有可能被其他线程修改

那么不安全的话 应该怎么修改呢?

------解决方案--------------------
我是这么认为的,对于concurrentQueue.Count操作concurrentQueue自己的,它是线程安全的,但是对于操作完他自己,比如取出count后,再与其他值进行运算比较,这就不是了