Python线路GIL

Python线路的GIL问题(全局解释器锁)

什么是GIL :由于python解释器设计中加入了解释器锁,导致python解释器同一时刻只能解释执行一个线程,大大降低了线程的执行效率。

导致后果: 因为遇到阻塞时线程会主动让出解释器,去解释其他线程。所以python多线程在执行多阻塞高延迟IO时可以提升程序效率,其他情况并不能对效率有所提升。

GIL问题建议:

1.尽量使用进程完成无阻塞的并发行为

2.不使用c作为解释器 (Java  C#)

结论 : 在无阻塞状态下,多线程程序和单线程程序执行效率几乎差不多,甚至还不如单线程效率。但是多进程运行相同内容却可以有明显的效率提升。

posted @ 2019-06-20 00:09  maplethefox  阅读(259)  评论(0编辑  收藏  举报