zl程序教程

您现在的位置是:首页 >  Python

当前栏目

python线程中的GIL如何使用?

2023-03-20 15:24:56 时间

python线程中的GIL如何使用?

很多人都说,线程中的GIL的使用算是可有可无的内容,但事实上是真的如此吗?虽然我们不经常使用,但是不代表没用,也许是一个宝藏内容,被我们遗忘而已,如果现在就告诉大家,我们使用GIL可以大大提高单线程的生产效率,大家还会觉得他没有用吗?是不是有点迫不及待想要了解学习呢?适合新手的冷门知识点,一起来看下吧。

什么是python线程中的GIL?

就是pythonGIL中的一个锁

运行图示:

python线程中的GIL如何使用?

实例使用——GIL加速处理单线程运行速度

import logging
import datetime
logging.basicConfig(level=logging.INFO,format="%(asctime)s %(threadName)s %(message)s ")
start=datetime.datetime.now()
def calc():
 sum=0
 for _ in range(1000000000):
 sum+=1
calc()
calc()
calc()
calc()
calc()
delta=(datetime.datetime.now()-start).total_seconds()
logging.info(delta)

验证结果:

python线程中的GIL如何使用?

虽然有些人说GIL比较累赘,可以不作为继续使用的内容,但是从上述实打实的案例可以得知,至今还保留的原因,就是它无可替代的门槛低,高效率,以及简单而真实的效果提高,如果有需要,大家也可以保存使用。