Python進程專題10:GIL

上一篇文章: Python進程專題9:關於進程的實用工具函數
下一篇文章: Python進程專題完結篇:多進程處理的通常建議

python解析器內部使用GIL(Global Interpreter Lock,全局解釋器鎖),在任意指定時刻,只容許單個python線程執行,不管系統上存在多少個可用的CPU核心,這也致使了python程序只能在一個處理器上運行。python

雖然有這個限制,可是多進程或者多線程在處理IO密集程序時,仍是有不少優點,IO密集程序,就是須要訪問網絡或者存取文件耗費大量時間的程序,此時使用多進程或者多線程,能夠將單個進程或線程等待網絡或者文件寫入、讀取的時間,用在其它進程或者線程上,來加快運行速度。segmentfault

還有其它不少優秀的框架,來方便咱們進行多進程或者多線程處理,使用這些基本能夠知足須要,最最最最後不行,還能夠使用協程來優化呢。網絡

相關文章
相關標籤/搜索