Python中的heapq线程安全吗?

时间:2016-02-09 17:38:32

标签: python thread-safety

我需要多个线程来访问这个heapq。所以我想确保使用heapq进行这样的操作。

1 个答案:

答案 0 :(得分:1)

不,使用heapq库不是线程安全的。使用锁来协调访问。

请注意library documentationsource code链接;你可以随时看看自己的行为方式。您将看到该模块在常规Python list上运行,并且没有锁定代码。

如果你想要的只是一个优先级队列,那么只需看Queue.PriorityQueue() class(在Python 3中重命名为queue.PriorityQueue)。它完全是线程安全的。