一、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中使用執行緒有兩種方式 函式或者用類來包裝執行緒物件。1 函式式 呼叫thread模組中的start new thread 函式來產生新執行緒。如下例 import thread def timer no,interval cnt 0 while cnt 10 print thread ...
Python多執行緒學習 一 執行緒的使用
python中使用執行緒有兩種方式 函式或者用類來包裝執行緒物件。1 函式式 呼叫thread模組中的start new thread 函式來產生新執行緒。如下例 import thread def timer no,interval cnt 0 while cnt 10 print thread ...
C 多執行緒(一) 執行緒管理
多執行緒是 此處省略一萬字,省略的文字詳細說明了什麼是多執行緒 其歷史及其發展 使用多執行緒的好處和缺點以及c c 對多執行緒的支援的歷史 c 標準庫自c 11標準以來開始支援多執行緒,多執行緒相關的類在thread標頭檔案中,所以使用請先必須 include 啟動乙個執行緒非常簡單,例程如下 in...