国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python 線程的五個狀態

瀏覽:4日期:2022-07-10 14:00:02

當程序中包含多個線程時,CPU 不是一直被特定的線程霸占,而是輪流執行各個線程。

那么,CPU 在輪換執行線程的過程中,即從創建到消亡的整個過程,可能會歷經 5 種狀態,分別是新建、就緒、運行、阻塞和死亡。

python 線程的五個狀態

線程的新建狀態

無論是通過 Thread 類直接實例化對象創建線程,還是通過繼承自 Thread 類的子類實例化創建線程,新創建的線程在調用 start() 方法之前,不會得到執行,此階段的線程就處于新建狀態。

線程的就緒狀態

當位于新建狀態的線程調用 start() 方法后,該線程就轉換到就緒狀態。

所謂就緒,就是告訴 CPU,該線程已經可以執行了,但是具體什么時候執行,取決于 CPU 什么時候調度它。

換句話說,如果一個線程處于就緒狀態,只能說明此線程已經做好了準備,隨時等待 CPU 調度執行,并不是說執行了 start() 方法此線程就會立即被執行。

線程的運行狀態

當位于就緒狀態的線程得到了 CPU,并開始執行 target 參數執行的目標函數或者 run() 方法,就表明當前線程處于運行狀態。

但如果當前有多個線程處于就緒狀態(等待 CPU 調度)時,處于運行狀態的線程將無法一直霸占 CPU 資源,為了使其它線程也有執行的機會,CPU 會在一定時間內強制當前運行的線程讓出 CPU 資源,以供其他線程使用。

線程的阻塞狀態

當 CPU 對多個線程進行調度時,對于獲得 CPU 調度卻沒有執行完畢的線程,就會進入阻塞狀態。

目前幾乎所有的桌面和服務器操作系統,都采用的是搶占式優先級調度策略。即 CPU 會給每一個就緒線程一段固定時間來處理任務,當該時間用完后,系統就會阻止該線程繼續使用 CPU 資源,讓其他線程獲得執行的機會。

對于具體選擇那個線程上 CPU,不同的平臺采用不同的算法,比如先進先出算法(FIFO)、時間片輪轉算法、優先級算法等,每種算法各有優缺點,適用于不同的場景。

除此之外,如果處于運行狀態的線程發生如下幾種情況,也將會由運行狀態轉到阻塞狀態:

線程調用了 sleep() 方法; 線程等待接收用戶輸入的數據; 線程試圖獲取某個對象的同步鎖時,如果該鎖被其他線程所持有,則當前線程進入阻塞狀態; 線程調用 wait() 方法,等待特定條件的滿足。

以上幾種情況都會導致線程阻塞,只有解決了線程遇到的問題之后,該線程才會由阻塞狀態轉到就緒狀態,繼續等待 CPU 調度。

以上 4 種可能發生線程阻塞的情況,解決措施分別如下:

sleep() 方法規定的時間已過; 線程接收到了用戶輸入的數據; 其他線程釋放了該同步鎖,并由該線程獲得; 調用 set() 方法發出通知。

線程死亡狀態

對于獲得 CPU 調度卻未執行完畢的線程,它會轉入阻塞狀態,待條件成熟之后繼續轉入就緒狀態,重復爭取 CPU 資源,直到其執行結束。

執行結束的線程將處于死亡狀態。

線程執行結束,除了正常執行結束外,如果程序執行過程發生異常(Exception)或者錯誤(Error),線程也會進入死亡狀態。

對于處于死亡狀態的線程,有以下 2 點需要注意:

主線程死亡,并不意味著所有線程全部死亡。也就是說,主線程的死亡,不會影響子線程繼續執行;反之也是如此。 對于死亡的線程,無法再調用 start() 方法使其重新啟動,否則 Python 解釋器將拋出 RuntimeError 異常。

以上就是python 線程的五個狀態的詳細內容,更多關于python 線程狀態的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美人成一本免费观看视频 | 在线精品自拍 | 亚洲国产欧洲精品路线久久 | 亚洲欧美成人综合在线 | 欧美大片aaaa一级毛片 | 国产精品视频视频久久 | 久久黄网站 | 91网在线| 毛片爽爽爽免费看 | 亚洲在线日韩 | 超矿碰人人超人人看 | 91黑丝国产线观看免费 | 亚洲国产成人久久综合区 | 国产精品成人观看视频网站 | 一级一级特黄女人精品毛片 | 国产精品揄拍一区二区久久 | 亚洲第一在线 | 顶级毛片在线手机免费看 | 亚洲欧美综合一区二区三区四区 | 久久久久久久久影院 | 欧美视频在线看 | 欧美日韩视频精品一区二区 | 国产午夜精品一区二区 | 久久三级毛片 | 成人做爰视频www网站 | 性色a| 美女很黄很黄免费 | 欧美日本一区二区 | 久久精品国产屋 | 一级一片免费播放 | 特级av毛片免费观看 | 国产欧美在线观看视频 | 久久精品国产99久久6动漫欧 | 免费播放巨茎人妖不卡片 | 久久九九久精品国产 | 日本a级片免费观看 | 亚洲欧美日韩国产专区一区 | 午夜国产片 | 深夜爽爽爽福利动态图 | 欧美日韩一区二区三区免费不卡 | 欧美一级欧美三级 |