1. 程式人生 > >網路程式設計 - join及守護執行緒

網路程式設計 - join及守護執行緒

一、Join例項(join理解為等待)
import threading,time
def run(n):
time.sleep(3)
print ("task",n)
start = time.time()
tem_list=[]
for i in range(50):
t = threading.Thread(target=run,args=("thread-%s"% i,))
tem_list.append(t)
t.start()
for t in tem_list:#將所有執行緒加到列表中,對列表進行阻塞;意思為所有的執行緒都結束後,再往下走;
t.join()

cost = time.time()-start
print (cost)
二、守護執行緒(守護執行緒,理解為被守護的執行緒結束後,守護執行緒即結束,無論守護執行緒本身是否已經完成);
import threading,time
def run(n):
time.sleep(3)
print ("task",n)
start = time.time()
for i in range(50):
t = threading.Thread(target=run,args=("thread-%s"% i,))
t.setDaemon(True) #將執行緒設定為守護執行緒;
t.start()

cost = time.time()-start
print (cost)