GIL鎖(全局解釋器鎖)

參考文章? ?https://www.cnblogs.com/gengcx/p/7500401.html

?1.概念

????GIL,全稱(chēng)為Global Interpreter Lock,中文翻譯即為全局解釋器鎖。全局解釋器鎖并不是pyhton的,而是python解釋器的。由于python官方默認(rèn)的解釋器是cpython,只有解釋器為cpython時(shí)才有全局解釋器鎖,用其他語(yǔ)言編寫(xiě)的解釋器如jpython等就沒(méi)有全局解釋器鎖。

????全局解釋器鎖是為了避免python在執(zhí)行多線(xiàn)程任務(wù)時(shí)產(chǎn)生資源競(jìng)爭(zhēng)及數(shù)據(jù)和狀態(tài)同步時(shí)出錯(cuò)。

????GIL導(dǎo)致在python在多線(xiàn)程時(shí)使用的仍然是單個(gè)CPU,無(wú)法同時(shí)發(fā)揮多個(gè)CPU的作用,要想發(fā)揮多個(gè)CPU的計(jì)算能力,必須使用多進(jìn)程。



2.什么情況下使用多線(xiàn)程?

> 當(dāng)任務(wù)為I/O密集型時(shí),可以使用多線(xiàn)程,提高效率。

> 當(dāng)任務(wù)為計(jì)算密集型時(shí),使用多進(jìn)程。

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

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