爱墙 网站怎么做,南京明辉建设有限公司网站,黄聪wordpress,北京平面设计公司名称初始化Pool时#xff0c;可以指定⼀个最大进程池#xff0c;当有新进程提交时#xff0c;如果池还没有满#xff0c;那么就会创建新进程请求#xff1b;但如果池中达到最大值#xff0c;那么就会等待#xff0c;待池中有进程结束#xff0c;新进程来执行。
非阻塞式可以指定⼀个最大进程池当有新进程提交时如果池还没有满那么就会创建新进程请求但如果池中达到最大值那么就会等待待池中有进程结束新进程来执行。
非阻塞式apply_async(func[, args[, kwds]])
一个程序结束运行新程序几个任务同时进行 阻塞式apply(func[, args[, kwds]])
进程有先后顺序 close()关闭Pool使其不再接受新的任务
terminate()不管任务是否完成立刻终止但存在延迟
join()主进程阻塞等待子进程退出必须在close或terminate之后 非阻塞方法
from multiprocessing import Pool
import time
import os def task(num): 定义的任务代码 print(子进程pid%d 开始执行任务num%d % (os.getpid(), num)) time.sleep(1) print(子进程pid%d 结束执行任务num%d % (os.getpid(), num)) pool Pool(4) # 创建进程池对象参数表明这个进程池中包含4个子进程 for i in range(10) pool.apply_async(task, (i,)) # 向进程池添加任务 非阻塞方法 print(主进程所有任务都已交给进程池去做) pool.close() # 关闭进程池对象表示不能再向进程池中添加新的任务 pool.join() # 回收进程池资源 阻塞方法
from multiprocessing import Pool
import time
import os def task(num): 定义的任务代码 print(子进程pid%d 开始执行任务num%d % (os.getpid(), num)) time.sleep(1) print(子进程pid%d 结束执行任务num%d % (os.getpid(), num)) pool Pool(4) # 创建进程池对象参数表明这个进程池中包含4个子进程 for i in range(10): pool.apply(task, (i,)) # 向进程池添加任务 阻塞方法 print(主进程所有任务都已交给进程池去做) pool.close() # 关闭进程池对象表示不能再向进程池中添加新的任务 pool.join() # 回收进程池资源