Queue 存入 和 取出 是线程安全的吗?

假如有两个线程,一个存入,一个取出,那么需要设置锁吗?... 假如有两个线程,一个存入,一个取出,那么需要设置锁吗? 展开
 我来答
百度网友a97606d
2011-04-26 · TA获得超过190个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:156万
展开全部
Queue本身并不是线程安全的, 有两种方法来保证线程安全:
1. 手动加锁。
Queue myCollection = new Queue();
lock(myCollection.SyncRoot)
{
foreach (object item in myCollection)
{
// Insert your code here.
}
}

2. 调用Synchronized方法,这时候得到的就是一个线程安全的Queue
Queue mySyncdQ = Queue.Synchronized( myQ );

参考资料: MSDN

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式