慕粉3321357
2020-06-21 09:24
在对进程环境下面,一个进程如果要执行代码,它同样先要去 获取 GIL这个锁,难道了这把锁才能执行Python的代码,然后执行一段代码,然后释放锁.
多进程环境下,也同样面临 每次只能有一个进程可以执行代码吗,这里是指同一时刻.
为什么多进程就可以很好的利用多核CPU呢 ?
没有理解,希望老师解答一下.??
因为这"老师"有些地方讲错了
python用threading.Thread形式开出来的线程, 都活在同一个核上, 所以共用一个GIL
而用multiprocessing.Process这样开出来的进程, 是互相独立的(可以打印pid号发现), 每个进程使用各自的GIL, 进程间的GIL不相干.
深入浅出剖析Python的全局解释锁GIL
2608 学习 · 9 问题
相似问题