python线程中的GIL如何使用?

python线程中的GIL如何使用?,第1张

python线程中的GIL如何使用?

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

什么是python线程中的GIL?

就是pythonGIL中的一个锁

运行图示:

实例使用——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)

验证结果:

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3014240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存