java - python中queue的task_done和join起什么作用?
PHPz
PHPz 2017-04-18 09:57:50
0
1
894

另外请问一下使用

queue.join()
queue.task_done()

while not workQueue.empty():
    pass

这两种方式来判断队列中是否还有任务的机制有区别吗?哪种更好呢?

PHPz
PHPz

学习是最好的投资!

全員に返信(1)
刘奇

それはあなたのデザインと使用シナリオによって異なります。
queue.join は、キュー内のすべてのメッセージが取得され、戻る前に task_done が呼び出されるまでブロックされます。通常は、すべてのタスクが処理されるのを待ってからプロセスを終了するために使用されます。
Empty は、while ループで確認するとすぐに戻ります。キューが空の場合、スレッドは無限にループし続けます。ループで待機すると、大量の CPU が消費されます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート