问答详情
源自:5-1 关于Python中的进程与线程

多进程为啥可以利用好CPU?

在对进程环境下面,一个进程如果要执行代码,它同样先要去 获取 GIL这个锁,难道了这把锁才能执行Python的代码,然后执行一段代码,然后释放锁.

多进程环境下,也同样面临 每次只能有一个进程可以执行代码吗,这里是指同一时刻.
为什么多进程就可以很好的利用多核CPU呢 ?

没有理解,希望老师解答一下.??

提问者:慕粉3321357 2020-06-21 09:24

个回答

  • 慕先生4398378
    2020-10-19 12:09:54

    因为这"老师"有些地方讲错了

    python用threading.Thread形式开出来的线程, 都活在同一个核上, 所以共用一个GIL

    而用multiprocessing.Process这样开出来的进程, 是互相独立的(可以打印pid号发现), 每个进程使用各自的GIL, 进程间的GIL不相干.