python多线程与多进程

本文通过一个CPU密集型任务的小例子,对比了Python中多进程与多线程的执行效率。实验结果显示,在CPU密集型操作中,多进程能更充分地利用多核处理器资源,而多线程则在IO密集型任务中表现更佳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值