python threading
阿新 • • 發佈:2018-04-09
threads 沒有 等待 __main__ 傳參 col python all ads
# coding=utf-8 # # 首先導入threading 模塊,這是使用多線程的前提。 import threading from time import ctime,sleep def music(name): for i in range(2): print("I was listening to music . %s %s" %(name,ctime())) sleep(1) def coding(code): for i in range(2): print("I was coding codes! %s %s" %(code,ctime())) sleep(5) threads = [] #創建了threads數組,創建線程t1,使用threading.Thread()方法, #在這個方法中調用music方法target=music,args方法對music進行傳參。 把創建好的線程t1裝到threads數組中。 #定義單元素的tuple有歧義,所以 Python 規定,單元素 tuple 要多加一個逗號“,”,這樣就避免了歧義: t1 = threading.Thread(target=music,args=(u‘偉大的闖爺之歌‘,)) threads.append(t1)#接著以同樣的方式創建線程t2,並把t2也裝到threads數組。 t2 = threading.Thread(target=coding,args=(u‘python代碼‘,)) threads.append(t2) if __name__ ==‘__main__‘: for t in threads: #setDaemon(True)將線程聲明為守護線程,必須在start() 方法調用之前設置,如果不設置為守護線程程序會被無限掛起。 #子線程啟動後,父線程也繼續執行下去, #當父線程執行完最後一條語句print "all over %s" %ctime()後,沒有等待子線程,直接就退出了,同時子線程也一同結束。t.setDaemon(True); #開始線程活動 t.start() t.join() print(" all over %s" %ctime())
python threading