参考链接:python并行任务技巧
1 from multiprocessing import Pool 2 from multiprocessing.dummy import Pool as ThreadPool 3 import time 4 5 6 def func(i): 7 d = 0 8 for a in range(i): 9 for b in range(i*i): 10 for c in range(i*i): 11 for e in range(i*i): 12 d += a * b * c 13 return d 14 15 16 if __name__ == '__main__': 17 start = time.time() 18 # pool = Pool(processes=4) 19 pool = ThreadPool(processes=1) 20 iteration = [x for x in range(15)] 21 results = pool.map(func, iteration) 22 end = time.time() 23 print('耗时:', end-start) 24 for result in results: 25 print(result)
我的笔记本是四核
因为多进程没用过,所以我自己写了个小例子,体现出在CPU密集型操作中多进程的优势
运行多进程,注释掉19行代码
运行多线程,注释掉18行代码
运行结果
1.多线程 CPU最高37%
2.多进程 CPU最高100%
CPU密集型和IO密集型:
1.CPU密集型代码,各种循环处理,计数等等 这种情况使用多进程
1.IO密集型代码,文件处理,网络爬虫等 使用多线程