我正在尝试编写一个在循环中创建新线程的程序,并且不等待它们完成。据我了解,如果我在线程上使用 .start() ,我的主循环应该继续,另一个线程将同时关闭并完成它的工作
但是,一旦我的新线程启动,循环就会阻塞,直到线程完成。我是否误解了线程在 python 中的工作方式,或者我正在做一些愚蠢的事情。
这是我创建新线程的代码。
def MainLoop():
print 'started'
while 1:
if not workQ.empty():
newThread = threading.Thread(target=DoWorkItem(), args=())
newThread.daemon = True
newThread.start()
else:
print 'queue empty'
谢谢大家