处理队列+ Python所必需的线程锁

时间:2011-06-20 08:39:15

标签: python multithreading

我有一个队列,我必须在几个线程中使用它,所以有必要获取线程锁以避免在处理这个单队列时发生冲突,因为我知道有必要为变量或其他获取线程锁资源,但很少混淆队列。

感谢

2 个答案:

答案 0 :(得分:11)

如果您在模块队列中使用队列,它将为您处理锁定。有关更多信息,请参阅此页面:http://docs.python.org/library/queue.html(“此模块中的Queue类实现了所有必需的锁定语义。”

答案 1 :(得分:0)

最简单的解决方案是使用互斥锁(锁)来保护对队列的所有访问。只需让poppush使用它。

可能的性能更好的解决方案可能是使用更精细的颗粒锁定。