为什么python的GIL问题一直让人诟病
导读:为什么python的GIL问题一直让人诟病?GIL这把大锁,到现在还存在是有它道理的。首先,我们知道python是解释型语言,代码执行都是在解释器里执行的。解释型语言都有不能实现真正的多线程并发的通病。这个是先天性的。多个线程是共享主进程资...
为什么python的GIL问题一直让人诟病?
GIL这把大锁,到现在还存在是有它道理的。首先,我们知道python是解释型语言,代码执行都是在解释器里执行的。解释型语言都有不能实现真正的多线程并发的通病。这个是先天性的。多个线程是共享主进程资源的,如果不给线程加锁,让线程并发,多个线程修改共享数据,就会引发数据混乱,这是不可靠的。因为解释器不知道你在代码哪里去修改共享数据了,所以一刀切,直接给线程加锁了。在同一时间解释器只允许一个线程运行。
当然了,你可能会说,我直接让解释器给要修改的共享数据加锁,这样多线程真正并行不就行了?其实国外早就有大佬这么做了,测试出来的结果,执行效率还不如直接给线程加锁。到目前为止,python开发团队都还没有提出更好的解决这个问题。这个是解释型语言的通病。此外,要解决这个问题,技术难度很大。
虽然GIL这把大锁的存在影响多线程不能真正的并发,但是我们可以用多进程来解决呀。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 为什么python的GIL问题一直让人诟病
本文地址: https://pptw.com/jishu/62435.html
