很多人都说,线程中的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比较累赘,可以不作为继续使用的内容,但是从上述实打实的案例可以得知,至今还保留的原因,就是它无可替代的门槛低,高效率,以及简单而真实的效果提高,如果有需要,大家也可以保存使用。