进程池
当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建过程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。
初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的最大值,那么该请求就会等待,直到泄中有进程结束,才会创建新的进程来执行。
非阻塞式进程
全部添加到队列中,立刻返回,并没有等待其他的进程完毕。
但是回调函数是等待任务结束才调用。
阻塞式进程
添加一个任务执行一个任务,如果一个任务不结束另一个任务就进不来。