gpt4 book ai didi

Python 线程应用程序未终止

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

我有一个简单的Python应用程序,如果我使用queue.join(),它不会终止。下面是代码:

import threading
import Queue

q = Queue.Queue()

for i in range(5):
q.put("BLAH")

def worker():
while True:
print q.qsize()
a = q.get()
print q.qsize()
q.task_done()
print q.qsize()


for i in range(2):
t = threading.Thread(target=worker())
t.daemon = True
t.start()

q.join()

我还创建了一个看门狗线程,它打印 threading.enumerate(),然后休眠 2 秒。剩下的唯一线程是 MainThread,队列大小实际上为 0。该脚本永远不会终止。我必须ctrl + z,然后杀死它。这是怎么回事?

最佳答案

t = threading.Thread(target=worker)

您想要传递对工作函数的引用,您不应该调用它。

关于Python 线程应用程序未终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16098394/

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