參考文章? ?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密集型時,可以使用多線程,提高效率。
> 當任務為計算密集型時,使用多進程。