GIL鎖(全局解釋器鎖)

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

?1.概念

????GIL,全稱為Global Interpreter Lock,中文翻譯即為全局解釋器鎖。全局解釋器鎖并不是pyhton的,而是python解釋器的。由于python官方默認的解釋器是cpython,只有解釋器為cpython時才有全局解釋器鎖,用其他語言編寫的解釋器如jpython等就沒有全局解釋器鎖。

????全局解釋器鎖是為了避免python在執行多線程任務時產生資源競爭及數據和狀態同步時出錯。

????GIL導致在python在多線程時使用的仍然是單個CPU,無法同時發揮多個CPU的作用,要想發揮多個CPU的計算能力,必須使用多進程。



2.什么情況下使用多線程?

> 當任務為I/O密集型時,可以使用多線程,提高效率。

> 當任務為計算密集型時,使用多進程。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。