美文网首页
GIL全局解释器锁

GIL全局解释器锁

作者: 午字横 | 来源:发表于2023-05-02 15:11 被阅读0次
    截图 2023-05-01 13-09-42.png [图片上传中...(截图 2023-05-01 14-58-02.png-21d192-1682924308437-0)]
    [图片上传中...(截图 2023-05-01 15-04-58.png-7e35e1-1682924713837-0)] 截图 2023-05-01 15-04-58.png
    运行结果:
    截图 2023-05-01 15-06-18.png

    同时有两个核轮流占用50%,这就是GIL同时时刻只有一个线程可以执行代码;哪个线程先取得GIL就先执行,当此线程有IO堵塞的时候会释放GIL锁,当此线程没有IO堵塞持续执行100条命令时候也会释放GIL锁,来让下一个线程轮流执行。

    为什么有了GIL,还要有互斥锁?

    GIL是针对线程的,保证同时只有一个线程在执行,GIL是线程锁,针对线程,而不是进程。GIL是宏观的操作。
    互斥锁是针对共享资源的,互斥锁保证了每次只有一个线程进入写入操作,从而保证了多线程情况下数据的正确性。是微观的操作。


    2023-05-01

    相关文章

      网友评论

          本文标题:GIL全局解释器锁

          本文链接:https://www.haomeiwen.com/subject/cnsnjdtx.html