GIL线程全局锁 协程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIL线程全局锁 协程相关的知识,希望对你有一定的参考价值。

GIL线程全局锁

线程全局锁(Global Interpreter Lock),即Python为了保证线程安全而采取的独立线程运行的限制,说白了就是一个核只能在同一时间运行一个线程.对于io密集型任务,python的多线程起到作用,但对于cpu密集型任务,python的多线程几乎占不到任何优势,还有可能因为争夺资源而变慢。

Python 最难的问题

解决办法就是多进程和下面的协程(协程也只是单CPU,但是能减小切换代价提升性能).

19 协程

知乎被问到了,呵呵哒,跪了

简单点说协程是进程和线程的升级版,进程和线程都面临着内核态和用户态的切换问题而耗费许多切换时间,而协程就是用户自己控制切换的时机,不再需要陷入系统的内核态.

Python里最常见的yield就是协程的思想!可以查看第九个问题.

以上是关于GIL线程全局锁 协程的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Python中的GIL(全局解释器锁)

Python 总结笔记 GIL 锁;迭代器生成器协程

全局解释器和线程

python的进程/线程/协程

同步锁

117 GIL全局解释器锁