2024-04-27 14:05:06 发布
网友
我的消费者方面:
m = queue.get() queue.task_done() <rest of the program>
问题:
task_done()是否有效地将m从队列中弹出并释放消费者在队列中拥有的任何锁?
task_done()
m
我需要在程序的其余部分使用m。它是安全的,还是在调用task_done()之前需要复制它,或者m在task_done()之后可用?
快乐
不,queue.get()将项目从队列中弹出。在你这样做之后,你可以用它做任何你想做的事,只要制作人工作得像它应该做的那样,不再碰它。queue.task_done()被调用的目的只是通知队列您已经完成了某些事情(它甚至不知道特定的项,它只统计队列中未完成的项),以便queue.join()知道工作已经完成。
queue.get()
queue.task_done()
queue.join()
不,
queue.get()
将项目从队列中弹出。在你这样做之后,你可以用它做任何你想做的事,只要制作人工作得像它应该做的那样,不再碰它。queue.task_done()
被调用的目的只是通知队列您已经完成了某些事情(它甚至不知道特定的项,它只统计队列中未完成的项),以便queue.join()
知道工作已经完成。相关问题 更多 >
编程相关推荐