一,、Python中的線程使用: Python中使用線程有兩種方式:函數(shù)或者用類來包裝線程對象。 1,、 函數(shù)式:調用thread模塊中的start_new_thread()函數(shù)來產生新線程,。如下例:
上面的例子定義了一個線程函數(shù)timer,它打印出10條時間記錄后退出,每次打印的間隔由interval參數(shù)決定,。thread.start_new_thread(function, args[, kwargs])的第一個參數(shù)是線程函數(shù)(本例中的timer方法),,第二個參數(shù)是傳遞給線程函數(shù)的參數(shù),它必須是tuple類型,,kwargs是可選參數(shù),。 線程的結束可以等待線程自然結束,也可以在線程函數(shù)中調用thread.exit()或thread.exit_thread()方法,。 2,、 創(chuàng)建threading.Thread的子類來包裝一個線程對象,如下例:
就我個人而言,,比較喜歡第二種方式,,即創(chuàng)建自己的線程類,必要時重寫threading.Thread類的方法,,線程的控制可以由自己定制,。 threading.Thread類的使用: 1,在自己的線程類的__init__里調用threading.Thread.__init__(self, name = threadname) Threadname為線程的名字 2,, run(),,通常需要重寫,編寫代碼實現(xiàn)做需要的功能,。 3,,getName(),,獲得線程對象名稱 4,setName(),,設置線程對象名稱 5,,start(),啟動線程 6,,jion([timeout]),,等待另一線程結束后再運行,。 7,,setDaemon(bool),設置子線程是否隨主線程一起結束,,必須在start()之前調用,。默認為False。 8,,isDaemon(),,判斷線程是否隨主線程一起結束。 9,,isAlive(),,檢查線程是否在運行中。 此外threading模塊本身也提供了很多方法和其他的類,,可以幫助我們更好的使用和管理線程,。可以參看http://www./doc/2.5.2/lib/module-threading.html,。 |
|