![19112f68aa2ecd3545dcc402443198da.png](https://img-blog.csdnimg.cn/img_convert/19112f68aa2ecd3545dcc402443198da.png)
进程池
在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间.
当被操作对象数目不大时,可以直接利用
multiprocessing.Process
动态成生多个进程,十几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,此时可以发挥进程池的功效
Pool
可以提供指定数量的进程,供用户调用.当有新的请求提交到pool
中时,如果进程池还没有满,那么就会创建一个新的进程用来执行该请求, 但如果池中的进程数已经达到规定最大值,那么该请求就会等待,直到池中有进程结束.才会创建新的进程来它
multiprocessing.Pool()
类有以下方法:
函数 解释 apply_async(func[,args[,kwargs[,callback]]])
不阻塞主进程,但是 callback
阻塞调用它的进程,异步操作apply(func[,args[,kwargs]])
使用阻塞的方式调用func close()
关闭pool, 使其不在接收新的任务 ternina