[英]Threads are not alive using python multithreading?
我正在使用python的多线程模块,但是代码有时无法正常工作。 我打印了活动线程的计数,发现有时启动的线程不是活动的。 这是代码:
def do_stuff(q,obj):
while not q.empty():
item=q.get()
print item
q.task_done()
for i in range(num_thread):
worker=threading.Thread(target=do_stuff,args=(q,Files,))
worker.setDaemon(True)
worker.start()
print worker.is_alive()
print threading.active_count()
print threading.enumerate()
对于is_alive()函数,我得到了False,并且活动线程列表中只有一个线程(主线程)。
我在这里做错了什么?
非常感谢!
您的线程还没有时间开始。
根据文档
is_alive()
isAlive()
返回线程是否处于活动状态。
该方法在
run()
方法开始之前直到run()
方法终止之后才返回True
。 模块函数enumerate()
返回所有活动线程的列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.