Python学习笔记3:多线程的示例一
基于python3.6,使用threading模块实现:
1 import threading 2 import time 3 4 def run(n): 5 print("线程启动,线程号:",n) 6 time.sleep(2) 7 8 start_time = time.time() 9 t_objs = [] 10 11 for i in range(10): 12 t = threading.Thread(target=run,args=("thread-%s" %i,)) 13 t.setDaemon(True) #以守护线程方式启动,主线程程结束会强制结束守护线程。没有这句或False以子线程方式启动,主线程结束前会等待所有子线程结束。 14 t.start() 15 t_objs.append(t) #先不join,先存到列表 16 17 18 # for t in t_objs: 19 # t.join() #线程阻塞,这个子线程结束前主线程会一直被阻塞,而且会阻塞其它线程,导致失去多线程并发的意义。 20 21 print ("------ 所有线程结束 .....",threading.current_thread()) 22 print("cost:",time.time() - start_time)