GIL
全称Global Interpreter Lock
,中文是全局解释器锁
。
- GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。Python完全可以不依赖于GIL。
- 一个进程,python只有一个GIL,运行python时,就要拿到这个锁才能执行,在遇到I/O 操作时会释放这把锁。
- GIL是一把全局排他锁,毫无疑问全局锁的存在会对多线程的效率有不小影响。甚至就几乎等于Python是个单线程的程序。
- GIL的目的是确保每个进程中只有一个线程运行