一、線程
Thread 是threading模塊中最重要的類之一,可以使用它來創建線程。有兩種方式來創建線程:一種是通過繼承Thread類,重寫它的run方法;另一種是創建一個threading.Thread對象,在它的初始化函數(__init__)中將可調用對象作爲參數傳入.
Thread模塊是比較底層的模塊,Threading模塊是對Thread做了一些包裝的,可以更加方便的被使用。
另外在工作時,有時需要讓多條命令併發的執行, 而不是順序執行.
有關線程的詳細介紹,請參考官方文檔 https://docs.python.org/2/library/threading.html
二、例子
舉例說明多線程
#多線程
#coding=utf-8 import threading #進口threading from time import sleep import time def 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));
例子引用:http://www.cnblogs.com/gcczhongduan/p/4711705.html