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

另外请问一下使用

queue.join()
queue.task_done()

while not workQueue.empty():
    pass

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

PHPz
PHPz

学习是最好的投资!

répondre à tous(1)
刘奇

Cela dépend de votre conception et de vos scénarios d'utilisation.
queue.join bloquera jusqu'à ce que tous les messages de la file d'attente soient récupérés et que task_done soit appelé avant de revenir. Habituellement utilisé pour attendre que toutes les tâches soient traitées, puis quitter le processus.
Vide reviendra immédiatement. Lors de la vérification avec votre boucle while, si la file d'attente est vide, le thread continuera à boucler sans fin. Attendre en boucle consomme beaucoup de CPU.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal