pool.map()
与
pool.apply_async()
pool.stop()
pool.join()
什么区别?
1
lithbitren 2020-06-13 18:08:25 +08:00
map 放在进程池里并行计算,这个语句是阻塞的,apply_async 单个函数放进池里计算非阻塞的。
stop 没见过,join 是阻塞到所有 apply_async 产生的进程执行结束 |
2
oldbird OP @lithbitren 谢谢,记错了,不是 stop,是 close
在使用 map 时,发现有的直接写到 pool.map()就可以了,有的还在后面加上 pool.close()、pool.join(),不知道这两种用法什么区别? |
3
lithbitren 2020-06-14 19:31:24 +08:00
@oldbird 官方文档其实讲的都听清楚的,不写 close 一般是 map 放在 with 的块里面,块结束的时候会自动关闭,一般不用添加其他语句,apply_async 一般都不放块里,所以要手动关闭,关闭了以后才能 join
|