• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  python如何切換GIL?

      python如何切換GIL?

      來源:千鋒教育
      發布人:xqq
      時間: 2023-11-07 00:18:24

      python中如何切換GIL?

      1、通過判斷指令計數器切換GIL

      (1)python的解釋器是在一個大的循環中逐個解析字節碼指令;

      (2)每次循環開始都會檢查一下_Py_Ticker的值。

      {

      ...

      for(;;)

      ...

      if(--_Py_Ticker<0){

      ...

      _Py_Ticker=_Py_CheckInterval;

      ...

      if(interpreter_lock){

      ...

      PyThread_release_lock(interpreter_lock);

      PyThread_acquire_lock(interpreter_lock,1);

      }

      }

      ...

      switch(opcode){

      case:...

      }

      }

      }

      2、IO阻塞之前切換GIL

      Python允許在執行block型的systemcall之前允許其他線程執行(Py_BEGIN_ALLOW_THREADS),然后再重新嘗試獲取GIL(Py_END_ALLOW_THREADS)。

      #definePy_BEGIN_ALLOW_THREADS{\

      PyThreadState*_save;\

      _save=PyEval_SaveThread();

      以上就是Python中切換GIL的方法,希望對大家有所幫助。更多Python學習推薦:請關注IT培訓機構:千鋒教育。

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      python判斷對象是否有某個屬性

      2023-11-07

      python定義變量需要聲明類型嗎

      2023-11-07

      python如何導入re模塊

      2023-11-07

      最新文章NEW

      pythonpass語句是什么意思

      2023-11-07

      python函數有哪幾種

      2023-11-07

      在python中怎么做斷言

      2023-11-07

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>