线程是不是使用python多线程活着?

时间:2015-03-07 11:10:31

标签: 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,并且活动线程列表中只有一个线程(主线程)。

我在这里做错了什么?

非常感谢!

1 个答案:

答案 0 :(得分:2)

你的主题还没有时间开始。

根据documentation

  

is_alive() isAlive()

     

返回线程是否存活。

     

此方法在True方法开始之前返回run() ,直到run()方法终止。模块功能   enumerate()返回所有活动线程的列表。