当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。
import multiprocessing
import os
import time
def copy(index):
print('当前进程的编号:',os.getpid())
print(index)
time.sleep(1)
if __name__ == '__main__':
pool=multiprocessing.Pool(3)
# 进程个数
for i in range(10):
pool.apply_async(copy,args=(i,))
# 非阻塞方式调用
pool.close() # 关闭池子,不在接收数据
pool.join()
# join的作用: 主进程阻塞,等待子进程的退出
本文介绍如何使用Python的multiprocessing模块中的Pool方法来高效管理大量子进程。通过一个实例展示了如何创建并管理一个包含三个工作进程的进程池,并将任务分发给这些进程。这种方法特别适用于需要处理大量数据或并发执行多个相似任务的场景。
1335

被折叠的 条评论
为什么被折叠?



