Python多執行緒

2021-05-23 07:22:20 字數 1532 閱讀 8502

python中如果要使用執行緒的話,python的lib中提供了兩種方式。一種是函式式,一種是用類來包裝的執行緒物件。舉兩個簡單的例子希望起到拋磚引玉的作用,關於多執行緒程式設計的其他知識例如互斥、訊號量、臨界區等請參考python的文件及相關資料。

1、呼叫thread模組中的start_new_thread()函式來產生新的執行緒,請看**:

python **

# thread_example.py

import time

import thread

def timer(no,interval): #自己寫的執行緒函式

while true:

print 'thread :(%d) time:%s'%(no,time.ctime()) time.sleep(interval)

def test(): #使用thread.start_new_thread()來產生2個新的執行緒  

thread.start_new_thread(timer,(1,1))

thread.start_new_thread(timer,(2,3))

if __name__=='__main__':

test()

2、通過呼叫threading模組繼承threading.thread類來包裝乙個執行緒物件。請看**:

python **

import

threading

import

time

class

threading

.thread):     

def__init__

(self

,no,interval):   

threading

.thread.

__init__

(self

)        

self

.no=no   

self

.interval=interval   

defself

):  

while

true

:   

print

self

.no,

time

.ctime())   

time

.sleep(

self

.interval)   

defthreadone=timer(1,1)    

threadtwo=timer(2,3)   

threadone.start()   

threadtwo.start()   

if__name__

=='__main__

':   

test()  

其實thread和threading的模組中還包含了其他的很多關於多執行緒程式設計的東西,例如鎖、定時器、獲得啟用執行緒列表等等,請大家仔細參考python的文件!

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

python多執行緒詳解 Python多執行緒詳解

前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...

python程式多執行緒 PYTHON多執行緒

在單執行緒的情況下,程式是逐條指令順序執行的。同一時間只做乙個任務,完成了乙個任務再進行下乙個任務。比如有5個人吃飯,單執行緒一次只允許乙個人吃,乙個人吃完了另乙個人才能接著吃,假如每個人吃飯都需要1分鐘,5個人就需要5分鐘。多執行緒的情況下,程式就會同時進行多個任務,雖然在同一時刻也只能執行某個任...