Fork me on GitHub

python----GIL的概念

问题:多核没有利用上

 

GIL:全局解释锁

 

     因为有GIL ,所以同一时刻,只有一个线程被CPU执行

 

任务:IO密集型,计算密集型

 

对于IO密集型的任务:python的多线程的是有意义的

                                 可以采用多进程+协程

对于计算密集型的任务:python的多线程就不推荐,python就不适用.

 

协程:  协作式,--------非抢占式的程序

          A----B-----A----C

          yield(协程)

          用户态的切换

          key: 什么时候切换

          协程主要解决的也是IO操作

          协程:本质上就是一个线程

协程的优势:

          1.没有切换的消耗

          2.没有锁的概念

       有一个明显的问题,能用多核吗?   -----> 可以采用多线程+协程,一个很好的解决并发的方案

 

       

 

posted @ 2019-03-21 01:03  MR_黄Python之路  阅读(127)  评论(0编辑  收藏  举报