python3 多線程的基本用法
#coding=utf-8 import threading #導入threading包 from time import sleep import timedef task1(): print ("Task 1 executed." ) sleep(1)
def task2(): print ("Task 2 executed." ) sleep(5)
print("多線程:") starttime=time.time(); #記錄開始時間 threads = [] #創建一個線程列表,用于存放需要執行的子線程 t1 = threading.Thread(target=task1) #創建第一個子線程,子線程的任務是調用task1函數,注意函數名后不能有() threads.append(t1)#將這個子線程添加到線程列表中 t2 = threading.Thread(target=task2)#創建第二個子線程 threads.append(t2)#將這個子線程添加到線程列表中
for t in threads: #遍歷線程列表 t.setDaemon(True) #將線程聲明為守護線程,必須在start() 方法調用之前設置,如果不設置為守護線程程序會被無限掛起 t.start() #啟動子線程 endtime=time.time();#記錄程序結束時間 totaltime=endtime-starttime;#計算程序執行耗時 print ("耗時:{0:.5f}秒" .format(totaltime)); #格式輸出耗時 print('---------------------------')
以下為普通的單線程執行過程,不需解釋
print("單線程:") starttime=time.time(); task1(); task2(); endtime=time.time(); totaltime=endtime-starttime; print ("耗時:{0:.5f}秒" .format(totaltime));</pre>