标签:线程 global 程序 数据 就是 一个 加锁 机器 计算
为什么要有GIL:
在同一时间只有一个线程在使用解释器 每个py程序中都必须有解释器参与,解释器其实就是一堆代码 相当于多个线程要调用同一个解释器代码,共享导致竞争,竞争就要出事,所有给解释器加互斥锁
性能:解释器加锁后,虽然保证数据的安全,但是降低了性能,在多cpu的机器上,无法利用多核提升效率。
其他线程想要执行,必须等到之前的线程释放了GIL,这就意味着:同一时间只有一个线程在运行,效率比较低
标签:线程 global 程序 数据 就是 一个 加锁 机器 计算
原文地址:https://www.cnblogs.com/langye521erxia/p/13095957.html