Python与多线程多进程

本文对比了Python中多线程和多进程在CPU密集型与IO密集型任务中的优劣。多线程在CPU密集型任务中由于全局解释器锁导致无法充分利用多核优势,而在IO密集型任务中能提升效率。多进程适用于CPU密集型任务,能够利用多核进行并行计算。文中提供了相关资源以供进一步学习。
摘要由CSDN通过智能技术生成

多线程与多进程优劣比较

多线程与多进程比较https://www.cnblogs.com/virusolf/p/5458325.html

Python与多线程多进程

CPU和IO密集型

举例

https://www.cnblogs.com/zhangyubao/p/7003535.html
CPU密集型代码:各种循环处理、计数等等
IO密集型代码:文件处理、网络爬虫等

判断方法:

  1. 直接看CPU占用率, 硬盘IO读写速度(任务管理器)
  2. 计算较多->CPU;时间等待较多(如网络爬虫)->IO

多线程

Python由于有全锁局的存在(同一时间只能有一个线程执行),并不能利用多核优势。多线程进程是CPU密集型:多线程并不能带来效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降;
多线程进程是IO密集型,多线程进程可以利用IO阻塞等待时的空闲时间执行其他线程,提升效率。

多进程

Python 一般使用多进程,代码编写参考链接

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值