Python有个gil锁,最近面试了几个人,动不动把gil锁挂在嘴边。
晚上又花了两个小时去研究了进程,线程的关系。
其实吧,Python慢又不是gil锁的问题,Python属于脚本语言,动态编译,执行的时候,先要把脚本转换成字节码,然后逐条读取,然后对应的C执行
你们编译型的语言,出来就是热乎乎能执行的玩意,那速度当然不能跟编译型的语言比,JAVA或C++
就好比飞机跟汽车看谁跑的快。
老是说Python的多线程是假的,不就因为Python默认不支持多核么,而且现在也有mutilprocss的包支持,想跑几核跑几核。
亏在计算机发展太快,本来要是单核就没那么多事情了,而且就Python的特点来看,就算取消了gil锁,要是计算密集的也快不到那里去。
只有多核的情况下面,才有真正的并行,那既然有了mutilprocss的支持,下次谁再说Python是假多线程我砍谁。
也不比比,全世界的语言,能最优雅的输出'hello word'的,有几个能超过Python。