参考了这篇文章,写的挺好的。
http://blog.csdn.net/abcjennifer/article/details/49474897
import time import threading def printf(i): for x in xrange(5): time.sleep(1) print i, def test(): thread_list = [] for i in xrange(10): sthread = threading.Thread(target = printf, args = str(i)) # sthread.setDaemon(True) sthread.start() thread_list.append(sthread) # for i in xrange(10): # thread_list[i].join() if __name__ == '__main__': test()
code如下所示, 在test()函数中用threading.Thread建立10个线程;
一种方法是不要将这些线程设置为守护线程,如code所示;
一种方法是设置守护线程( setDeamon(True)),并用join()让程序等所有线程结束了再退出(即去掉code中的注释)