Python3--- 多執行緒併發操作
阿新 • • 發佈:2019-01-11
''' 多執行緒---是指從軟體或者硬體上實現多個執行緒併發執行的技術。 使用模組---import threading ''' from time import ctime,sleep import threading def read(things,number): for i in range(number): print("Start Read %s %s"%(things,ctime())) sleep(2) def write(things,number): for i in range(number): print("Start Write %s %s" % (things, ctime())) sleep(2) threads = [] #定義一個執行緒池 thd1=threading.Thread(target=read,args=("MIKe",2)) #建立一個執行緒 threads.append(thd1) #將執行緒裝載到threads執行緒組中 thd2=threading.Thread(target=write,args=("LAN",2)) #建立一個執行緒 threads.append(thd2) if __name__ == '__main__': for th in threads: th.start() #start()---啟動執行緒活動 for th in threads: th.join() #join([time])守護執行緒--等待至執行緒中止 print("all the end %r"%ctime())
關於Thread.join的解析
''' 呼叫Thread.join將會使主調執行緒堵塞,直到被呼叫執行緒執行結束或超時。 引數timeout是一個數值型別,表示超時時間,如果未提供該引數,那麼主調執行緒將一直堵塞到被調執行緒結束 ''' import threading from time import ctime,sleep def doWaiting(): print ('start waiting:', ctime()) sleep(3) print ('stop waiting', ctime()) thread1 = threading.Thread(target = doWaiting) thread1.start() sleep(1) #確保執行緒thread1已經啟動 print ('start join') print ('now:', ctime()) thread1.join() #將一直堵塞,直到thread1執行結束。 print ('end join', ctime())