即使当前队列包含未处理的元素,我如何通知python中的queue.join()停止阻止?

问题描述 投票:0回答:1

我有一个主线程,该线程等待用户线程处理优先级队列(PQ)中的项目。使用者线程从另一个填充器线程接收项目。每当使用者线程收到高优先级的“ TERMINATOR”项时,它就会死亡。但是由于主线程正在等待要处理的队列元素,所以它永远不会退出。有没有一种方法可以通知PQ.join()返回而无需使用while循环来清空我的队列(如果使用while循环,队列中的大量项目会导致很多延迟)

python multithreading queue priority-queue blocking
1个回答
1
投票

您可以等待使用者线程而不是优先级队列,这似乎是您要等待的事情,即consumer_thread.join()而不是PQ.join()

© www.soinside.com 2019 - 2024. All rights reserved.