2018-08-16

一個線程只能有一個進程,一個進程里面可以包括多個線程。
python在執(zhí)行的線程是主線程。
大部分計算機中的應用程序的執(zhí)行,一般都是并發(fā)執(zhí)行機制的多任務處理機制
并發(fā)就是 同時接到多個任務,同時執(zhí)行多個任務,但是在某一個時間段只執(zhí)行一個任務

cpython官方解釋器內(nèi)置gil 全局解釋器鎖 同一時間只能執(zhí)行一個線程
對于新手來說 一般使用 threading模塊

join:線程的 join 狀態(tài)是獨占模式,當前線程獨占 CPU 運行單元,

必須等待當前線程執(zhí)行完成或者超時之后,才能運行其他線程
python 中提供了兩種線程鎖的操作
同步鎖/互斥鎖:Lock
可重用鎖:RLock
鎖的操作主要是獲取鎖和釋放鎖兩種
acquire() 獲取鎖,上鎖,鎖定
release() 釋放鎖,開鎖,解鎖
線程鎖固然功能強大,可以管理多個線程之間的共享數(shù)據(jù)問題
但是同時它的強大也帶來了比較糾結(jié)的問題,需要開發(fā)人員對于鎖定的數(shù)據(jù)有一個良好的認
知,否則特別容易造成死鎖的現(xiàn)象
碰到死鎖并不是程序出錯 可以嘗試使用 可重用鎖

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容