Python队列get()/ task_done()问题
我的消费者队列:
m = queue.get()queue.task_done()
<rest of the program>
问题:
是否
task_done()
有效地弹出m
队列并释放消费者对队列的任何锁定?我需要
m
在程序的其余部分中使用。它是安全的,或者我需要复制它之前,我打电话task_done()
或者是m
使用后task_done()
?
要开心
回答:
不,queue.get()
将项目弹出队列。完成此操作后,只要生产者按应有的方式工作并且不再碰它,就可以随心所欲地对其进行操作。queue.task_done()
调用只是为了通知队列您已经完成某件事(它甚至不知道特定项目,它只计算队列中未完成的项目),以便queue.join()
知道工作已完成。
以上是 Python队列get()/ task_done()问题 的全部内容, 来源链接: utcz.com/qa/401771.html