浙江11选5图表:【Python面試題】簡單談下GIL:

浙江11选5任3遗漏 www.ehxis.com  Global Interpreter Lock(全局解釋器鎖)

    Python代碼的執行由Python 虛擬機(也叫解釋器主循環,CPython版本)來控制,Python 在設計之初就考慮到要在解釋器的主循環中,同時只有一個線程在執行,即在任意時刻,只有一個線程在解釋器中運行。對Python 虛擬機的訪問由全局解釋器鎖(GIL)來控制,正是這個鎖能保證同一時刻只有一個線程在運行。
在多線程環境中,Python 虛擬機按以下方式執行:

  1. 設置GIL
  2. 切換到一個線程去運行
  3. 運行:
    ? ??a. 指定數量的字節碼指令,或者
    ? ? b. 線程主動讓出控制(可以調用time.sleep(0))
  4. 把線程設置為睡眠狀態
  5. 解鎖GIL
  6. 再次重復以上所有步驟

【返回原文】

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code