1.进程池
from multiprocessing import Pool def func(n): for i in range(10): print(n+1) if __name__ == ‘__main__‘: pool = Pool(3) #启动有三个进程的进程池。 #第一个参数进程要访问的代码,第二个参数必须是一个可迭代参数,规定了要执行的任务数 pool.map(func,range(100)) #100个任务
结果: 每个数打印了10次。
2.进程池和多进程的用时对比
def func(n): for i in range(10): print(n + 1) if __name__ == ‘__main__‘: start = time.time() pool = Pool(3) #启动有三个进程的进程池。 #第一个参数进程要访问的代码,第二个参数必须是一个可迭代参数,规定了要执行的任务数 pool.map(func,range(100)) #100个任务 t1 = time.time() - start start = time.time() p_list = [] for i in range(100): p = Process(target=func,args=(i,)) p_list.append(p) p.start() for p in p_list: p.join() t2 = time.time() - start print(t1,t2)
结果: 进程池的用0.9,而多进程的用了17+
原文地址:https://www.cnblogs.com/wangdianchao/p/12088172.html
时间: 2024-10-09 06:08:15