【Python面试题】简单谈下GIL:

 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

在线咨询:

邮件:work@dyhjdp.com

工作时间:周一至周日,09:00-18:30

QR code
秒速时时彩 北京赛车开奖走势图 北京赛车开奖走势图 北京赛车开奖走势图 北京赛车微信二维码进群玩 秒速时时彩平台 秒速时时彩官网 北京赛车开奖走势图 安徽快3 秒速时时彩官网