Python的Queue.task_done()起什么作用?

Queue.task_done() 在完成一项工作之后,Queue.task_done() 函数向任务已经完成的队列发送一个信号

网上都是这样解释的,请问一下发这个信号有什么意义?但是我试过就算线程run方法末尾不加Queue.task_done(),执行好像也没什么问题啊,请问一下这一行到底起什么作用呢?

阅读 18.6k
1 个回答

直接看queue.py中的注释。
主要是给join用的,每次get后需要调用task_done,直到所有任务都task_done。
join才取消阻塞

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题