**:
一、python中的執行緒使用:
python中使用執行緒有兩種方式:函式或者用類來包裝執行緒物件。
1、 函式式:呼叫thread模組中的start_new_thread()函式來產生新執行緒。如下例:
[python]view plain
copy
import time
import thread
def timer(no, interval):
cnt = 0
while cnt<10:
'thread:(%d) time:%s/n'%(no, time.ctime())
time.sleep(interval)
cnt+=1
thread.exit_thread()
def test():
#use thread.start_new_thread() to create 2 new threads
thread.start_new_thread(timer, (1,1))
thread.start_new_thread(timer, (2,2))
if __name__==
'__main__':
test()
上面的例子定義了乙個執行緒函式timer,它列印出10條時間記錄後退出,每次列印的間隔由interval引數決定。thread.start_new_thread(function, args[, kwargs])的第乙個引數是執行緒函式(本例中的timer方法),第二個引數是傳遞給執行緒函式的引數,它必須是tuple型別,kwargs是可選引數。
2、 建立threading.thread的子類來包裝乙個執行緒物件,如下例:
[python]view plain
copy
import threading
import time
class timer(threading.thread):
#the timer class is derived from the class threading.thread
def __init__(self, num, interval):
threading.thread.__init__(self)
self.thread_num = num
self.interval = interval
self.thread_stop = false
def run(self): #overwrite run() method, put what you want the thread do here
while
not self.thread_stop:
'thread object(%d), time:%s/n' %(self.thread_num, time.ctime())
time.sleep(self.interval)
def stop(self):
self.thread_stop = true
def test():
thread1 = timer(1, 1)
thread2 = timer(2, 2)
thread1.start()
thread2.start()
time.sleep(10)
thread1.stop()
thread2.stop()
return
if __name__ ==
'__main__':
test()
threading.thread類的使用:
1,在自己的執行緒類的__init__裡呼叫threading.thread.__init__(self, name = threadname)
threadname為執行緒的名字
2, run(),通常需要重寫,編寫**實現做需要的功能。
3,getname(),獲得執行緒物件名稱
4,setname(),設定執行緒物件名稱
5,start(),啟動執行緒
6,jion([timeout]),等待另一線程結束後再執行。
7,setdaemon(bool),設定子執行緒是否隨主線程一起結束,必須在start()之前呼叫。預設為false。
8,isdaemon(),判斷執行緒是否隨主線程一起結束。
9,isalive(),檢查執行緒是否在執行中。
此外threading模組本身也提供了很多方法和其他的類,可以幫助我們更好的使用和管理執行緒。可以參看
python使用多執行緒
做測試的時候,我們不得不接觸下多執行緒,雖然python不能發揮cpu多核的優勢,但是在測試的時候依然十分必要,比如在做介面測試的時候,發出請求之後,在等待伺服器端給予回應的時候,我們不應該傻傻地等,其它執行緒可以在等待的同時發出請求。這樣,我們就能更快地完成我們的測試任務。coding utf 8...
python多執行緒使用
一 簡介 由於python2逐漸不被維護,以及python更優越的效能。後面介紹的python相關知識都是用python3版本寫。這裡介紹python3的多執行緒相關知識,執行緒的建立使用threading包。二 簡單執行緒建立 簡介執行緒的建立,先定義執行任務的函式,然後呼叫threading.t...
python多執行緒 python多執行緒
通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...