读书人

并发集合类的线程安全有关问题~

发布时间: 2012-04-19 14:36:43 作者: rapoo

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

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

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

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

读书人网 >C#

热点推荐