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

来源:5-1 关于Python中的进程与线程

慕粉3321357

2020-06-21 09:24

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

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

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

写回答 关注

1回答

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

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

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

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

深入浅出剖析Python的全局解释锁GIL

从历史发展的角度来解释GIL的来龙去脉,GIL的本质。

2608 学习 · 9 问题

查看课程

相似问题