在使用Python进行系统管理的时候,特别时同时操作多个文件目录,或者远程控制多态主机并行操作,可以节约大量的时间。当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态生成多个进程,十几个还好,但如果时上百个,上千个目标,手动限制进程数量又太过繁琐,此时就可以发挥进程池的功效了。
Pool可以提供指定数量的进程供用户调用,当有新的请求提交到pool中时,如果池还没有满,就会创建一个新的进程用于执行该请求;如果池中的进程数量已经达到规定的最大值,该请求就会等待,直到池中有进程结束才会创建新的进程。
【示例 1】多进程使用进程池Pool
运行结果如下:
从运行结果来看同一时刻只有三个进程在执行,使用Pool实现了对进程并发数的控制。