multiprocessing的进程池疑问

#前面的就不贴了,有个g函数,空参数
p=Pool(8) #8核PC
for i in range(16):
    p.apply_async(g,args=())
p.close()
p.join()

这里的16这个数字怎么理解?为什么把16改成8,改成32,64,结果没有区别?

阅读 2.5k
1 个回答

Pool(8) 这里的8代表你同时运行的进程数量,也就是同时开启8个进程
range(16) 这里的16表示你待处理的任务数量有16个

也就是说16个任务,最多可以同时执行8个,如果执行时间相同,那就是分2次才有跑完
不知道这样说你能理解吗

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