电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

python 線程的五個狀態

瀏覽:2日期: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 編程
相關文章:
主站蜘蛛池模板: 雷达液位计_超声波风速风向仪_雨量传感器_辐射传感器-山东风途物联网 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 深圳公司注册-工商注册公司-千百顺代理记账公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 万博士范文网-您身边的范文参考网站Vanbs.com | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | 卫生人才网-中国专业的医疗卫生医学人才网招聘网站! | 搪瓷搅拌器,搪玻璃搅拌器,搪玻璃冷凝器_厂家-淄博越宏化工设备 | 京港视通报道-质量走进大江南北-京港视通传媒[北京]有限公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 动物解剖台-成蚊接触筒-标本工具箱-负压实验台-北京哲成科技有限公司 | 能耗监测系统-节能监测系统-能源管理系统-三水智能化 | 烘干设备-热泵烘干机_广东雄贵能源设备有限公司 | 深圳货架厂家_金丽声精品货架_广东金丽声展示设备有限公司官网 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 湖南专升本-湖南省专升本报名-湖南统招专升本考试网 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 法钢特种钢材(上海)有限公司 - 耐磨钢板、高强度钢板销售加工 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 超声波分散机-均质机-萃取仪-超声波涂料分散设备-杭州精浩 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 临朐空调移机_空调维修「空调回收」临朐二手空调 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 |