永发信息网

依然是Python GIL 硬伤吗

答案:2  悬赏:40  手机版
解决时间 2021-12-24 22:55
依然是Python GIL 硬伤吗
最佳答案
GIL完全可以不在意,根本不是问题。
GIL是Python的全局锁,也就是有它在,同一时刻,只能一个线程访问一个全局资源。
所以Python的多线程,完全没办法利用多核CPU。
看上去,这是个很致命的限制,然而,使用时却完全不是这回事。
首先,这只影响CPU密集型应用。而我们的程序大部分不是CPU密集型的。比如你打开资源管理器看CPU占用率,没错,一般是10%以下,我们系统那么多程序在跑,其实大都不是要占非常多的CPU运算能力。
那有GIL的多线程有什么好处呢?简单!比如你所有的线程都访问一个list,由于GIL锁的存在,完全不需要处理访问锁的问题(也就是你丝毫不用担心你在访问的时候,别的线程也访问造成访问冲突)
好了,那CPU密集应用呢?用多进程mutiporcessing(虽然相对多线程麻烦一些)完全可以撑爆你所有的CPU核心。
总起来就是,python用两种并行的方法(多线程、多进程)代替了java等里边的完全多线程,当然,前者比完整的多线程要简单很多,后者用起来比完全多线程麻烦一点。也就是用增加一小部分程序复杂度办法,换取了大部分程序的简化,这可能就是Python之道把。
全部回答
是的. 是的. 是的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题受精作用时,防止多精入卵的屏障是:①
施主你着相了什么意思
安桥功放怎么调试?
阅读下列短文,根据短文中的信息完成文后表格
百世汇通快递查询单号查询50337408104333
松树能活多少年
苹果6plus刚出的时候多少钱?
动脉是将血液送出心脏的血管,静脉是将血液送
单选题将小石块竖直向上抛出,它向上运动的过
山西卫视 彭宇和优优主持的节目叫什么名字?
苹果6splus主机坏了售后说需要2888换一个主机
读下图,回答下列各题。1.若图表示某城市的风
单选题1543年,科学家维萨留斯《人体结构》一
春蚕象征着什么
歌词普拉追普拉飞是首什么歌?谢谢
推荐资讯
九月初十是什么星座
大路坝派出所地址有知道的么?有点事想过去!
尼特族的异世界就职记没漫画吗
易燃液体储罐在哪些情形下应当设置防火隔堤?
言字旁加干读什么
一年级语文报对学生有什么好处
石破惊天是什么意思
嘉善晚上哪里好玩
请问,怎么聊天,江湖是智商超高的人才玩得来的
墨鱼在水中游泳的方向是什么方向?
什么摄像头性价比高
左髋骨上面疼痛是什么原因
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?