python多线程与多进程

参考链接python并行任务技巧

     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密集型代码,文件处理,网络爬虫等     使用多线程

原文地址:https://www.cnblogs.com/MC-Curry/p/9779603.html