python中multiprocessing.dummy.pool 和multiprocessing.pool有什么区别

python中多线程是受GIL的限制的

multiprocessing.pool应该是多进程的,那么python中multiprocessing.dummy.pool是什么难道是多线程

如果是这样 python中multiprocessing.dummy.pool 只是运行在一个cpu一个核上的吗

python中multiprocessing.pool是可以运行在多个核多个CPU之上吗

阅读 11.4k
3 个回答

看下面两行代码:

from multiprocessing.dummy import Pool as ThreadPool
多线程进程池,绑定一个cpu核心

from multiprocessing import Pool
多进程,运行于多个cpu核心
推荐一篇文章一行代码搞并行

multiprocessing多进程模块, 而multiprocessing.dummy是以相同API实现的多线程模块。
没有绕过GIL情况下,多线程一定受GIL限制。
多进程是python利用多核最常用的方式。

多进程 场景CPU
from multiprocessing import Pool

多线程 场景IO
from multiprocessing.dummy import Pool as ThreadPool

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题