解释性语言和非解释性语言,GIL锁

Posted 老A队长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释性语言和非解释性语言,GIL锁相关的知识,希望对你有一定的参考价值。

解释性语言:python写的代码就被称为程序,cpu硬件能运行二进制代码指令。demo.py需要经过python解释器编译才做才能执行。

非解释性语言:例如c语言程序,同样需要写代码。demo.c这个代码并不是程序,因为运行不起来,要想真正运行起来就需要编译的操作,把demo.c编译成一个二进制的程序才能运行。

GIL锁:

         解释器需要用到的全局资源,这些资源是用来解释代码用的,但是多线程可能会出现竞争这些资源的情况,所以有了GIL锁,就是全局解释器锁,只有拿到锁的才能解释代码,只有cpython才有全局解释器锁,cpython就是c语言开大的python计时器就是cpython。用java写的解释器是jpython,还有pytho自己写的解释器pypy。那么既然存在GIL锁,为什么还要用多线程?

以上是关于解释性语言和非解释性语言,GIL锁的主要内容,如果未能解决你的问题,请参考以下文章

Python如何规避全局解释器锁(GIL)带来的限制

深入理解Python中的GIL(全局解释器锁)

Python中的GIL锁

GIL全局解释器锁

GIL(全局解释器锁)

Python 之 GIL 全局解释器锁