gpt4 book ai didi

python - 在 python 中结束线程的生命?

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:00 25 4
gpt4 key购买 nike

我有以下代码,但它在队列为空后仍然存在,任何见解:

def processor():
while(1>0):
if queue.empty() == True:
print "the Queue is empty!"
break
source=queue.get()
page = urllib2.urlopen(source)
print page

def main:
for i in range(threads):
th = Thread(target=processor)
th.setDaemon(True)
th.start()
queue.join()

它打印 queue empty 的次数与我有线程的次数一样多,只是站在那里什么都不做。

最佳答案

打印页面后需要调用queue.task_done(),否则join()会阻塞。每个线程在使用 get() 之后必须调用 task_done()。

参见 documentation for queue

关于python - 在 python 中结束线程的生命?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com