麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

python多線程編程方式分析示例詳解

2024-09-09 19:02:37
字體:
來源:轉載
供稿:網友

在Python多線程中如何創建一個線程對象

如果你要創建一個線程對象,很簡單,只要你的類繼承threading.Thread,然后在__init__里首先調用threading.Thread的__init__方法即可

復制代碼 代碼如下:
import threading 
class mythread(threading.Thread): 
def __init__(self, threadname): 
threading.Thread.__init__(self, name = threadname) 

這才僅僅是個空線程,我可不是要他拉空車的,他可得給我干點實在活。很簡單,重寫類的run()方法即可,把你要在線程執行時做的事情都放到里面

復制代碼 代碼如下:
import threading 
import time 
class mythread(threading.Thread): 
def __init__(…): 
…. 
def run(self): 
for i in range(10): 
print self.getName, i 
time.sleep(1)

以上代碼我們讓這個線程在執行之后每隔1秒輸出一次信息到屏幕,10次后結束
getName()是threading.Thread類的一個方法,用來獲得這個線程對象的name。還有一個方法setName()當然就是來設置這個線程對象的name的了。
如果要創建一個線程,首先就要先創建一個線程對象
mythreadmythread1 = mythread('mythread 1′)
一個線程對象被創建后,他就處于“born”(誕生狀態)
如何讓這個Python多線程對象開始運行呢?只要調用線程對象的start()方法即可
mythread1.start()
現在線程就處于“ready”狀態或者也稱為“runnable”狀態。
奇怪嗎?不是已經start了嗎?為什么不稱為“running”狀態呢?其實是有原因的。因為我們的計算機一般是不具有真正并行處理能力的。我們所謂的Python多線程只是把時間分成片段,然后隔一個時間段就讓一個線程執行一下,然后進入“sleeping ”狀態,然后喚醒另一個在“sleeping”的線程,如此循環runnable->sleeping->runnable… ,只是因為計算機執行速度很快,而時間片段間隔很小,我們感受不到,以為是同時進行的。所以說一個線程在start了之后只是處在了可以運行的狀態,他什么時候運行還是由系統來進行調度的。
那一個線程什么時候會“dead”呢?一般來說當線程對象的run方法執行結束或者在執行中拋出異常的話,那么這個線程就會結束了。系統會自動對“dead”狀態線程進行清理。
如果一個線程t1在執行的過程中需要等待另一個線程t2執行結束后才能運行的話那就可以在t1在調用t2的join()方法
復制代碼 代碼如下:
def t1(…): 
… 
t2.join() 

這樣t1在執行到t2.join()語句后就會等待t2結束后才會繼續運行。
但是假如t1是個死循環的話那么等待就沒有意義了,那怎么辦呢?可以在調用t2的join()方法的時候給一個浮點數做超時參數,這樣這個線程就不會等到花兒也謝了了。我等你10s,你不回來我還不允許我改嫁啊?

復制代碼 代碼如下:
def t1(…): 
… 
t2.join(10) 

如果一個進程的主線程運行完畢而子線程還在執行的話,那么進程就不會退出,直到所有子線程結束為止,如何讓主線程結束的時候其他子線程也乖乖的跟老大撤退呢?那就要把那些不聽話的人設置為聽話的小弟,使用線程對象的setDaemon()方法,參數為bool型。True的話就代表你要聽話,我老大(主線程)扯呼,你也要跟著撤,不能拖后腿。如果是False的話就不用那么聽話了,老大允許你們將在外軍命有所不受的。需要注意的是setDaemon()方法必須在線程對象沒有調用start()方法之前調用,否則沒效果。

復制代碼 代碼如下:
t1 = mythread('t1′) 
print t1.getName(),t1.isDaemon() 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕一区二区三区四区 | 一区二区三区四区视频在线观看 | 久久久精品综合 | 久久精品探花 | 成年人观看免费视频 | avlululu| 日本中文字幕电影在线观看 | 国产在线观看av | 国产精品久久77777 | 2023av在线视频 | 国产毛片自拍 | 黑人三级毛片 | 成人毛片视频在线观看 | 一边吃奶一边摸下娇喘 | 精品一区二区三区在线观看视频 | h视频在线观看免费 | 日本aaa一级片 | 色婷婷久久久久久 | bt 自拍 另类 综合 欧美 | 欧洲精品久久久 | 免费国产在线精品 | 国产精品久久久久久久久久 | 久久久久久久久久久av | 国产午夜精品久久久久久免费视 | 一级毛片在线观看免费 | 青青草成人免费视频在线 | 久草网在线 | 亚洲激情91 | 在线中文字幕不卡 | 精品久久久久久久久久久下田 | 亚洲成a人在线 | 91看片成人 | 色网站免费观看 | 毛片免费看电影 | 亚洲性生活免费视频 | 日韩视频在线观看免费视频 | 久久亚洲第一 | 日本不卡视频在线观看 | 色域tv | av成人免费看 | 超级av在线 |