GIL=Global Interpreter Lock,全局解释器锁,
GIL不是Python的特性,而是Python解释器的特性,GIL的存在是因为多数的python安装程序使用的编译器都是cpython, GIL 是cpython为了解决多核多线程程序中数据和状态同步问题而提出来的,当这个概念被大多数程序所接受之后,人们才发现它是低效的,因为同一时刻只能有一个线程处于运行状态,即使是在多核处理器上也是这样,当人们准备要移除GIL时才发现,有太多依赖于GIL的库而很难去除.
Jpython就不存在GIL的问题,但是不推荐使用,(?)
解决的方法是使用多进程或者使用协程.
参考https://blog.youkuaiyun.com/Michael_Zheng_Tech/article/details/75350114
Python中的GIL
最新推荐文章于 2024-09-20 08:26:37 发布