Python Queue get()/task_done()问题

2024-04-27 14:05:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我的消费者方面:

m = queue.get()
queue.task_done()

<rest of the program>

问题:

  1. task_done()是否有效地将m从队列中弹出并释放消费者在队列中拥有的任何锁?

  2. 我需要在程序的其余部分使用m。它是安全的,还是在调用task_done()之前需要复制它,或者mtask_done()之后可用?

快乐


Tags: ofthe程序resttaskget队列queue
1条回答
网友
1楼 · 发布于 2024-04-27 14:05:06

不,queue.get()将项目从队列中弹出。在你这样做之后,你可以用它做任何你想做的事,只要制作人工作得像它应该做的那样,不再碰它。queue.task_done()被调用的目的只是通知队列您已经完成了某些事情(它甚至不知道特定的项,它只统计队列中未完成的项),以便queue.join()知道工作已经完成。

相关问题 更多 >