如何使用C#实现线程安全类队列的push和pop方法

费里德·塞多维奇(FeridSejdović)

按照一篇出色的文章的指导,我遇到了需要解决的问题。如何实现线程安全类队列的push和pop方法?

生殖腺炎

一个简单的锁就可以了。

var synchro = new object();
var queue = new Queue<int>();
lock(synchro)
{
    queue.Enqueue(123); // Add to queue
}
lock(synchro)
{
    var num = queue.Dequeue(); // Remove from queue
}

另外,您也可以ConcurrentQueue结合使用BlockingCollection,但灵活性较差。例如,您不能安全地同时添加或删除多个项目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章