多線程

一、線程 

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));

Center

例子引用:http://www.cnblogs.com/gcczhongduan/p/4711705.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章