【python】(04)python中实现多任务并发和并行的区别

本文探讨了Python中并发与并行的概念,强调并发适用于I/O密集型任务,而并行适用于CPU密集型任务。介绍了并发的线程和并行的进程,以及joblib、concurrent.futures等库的使用示例。通过代码实例展示了线程和进程在任务执行时的内存空间共享状态,指导如何根据任务特点选择合适的并发或并行方式。
摘要由CSDN通过智能技术生成

系列文章回顾
【python】(01)初识装饰器Decorator
【python】(02)初识迭代器Iterator
【python】(03)初识生成器Generator
【python】(04)python中实现多任务并发和并行的区别


在python中,如果有多个任务相互之间无依赖关系,可以同时进行,此时为了提升资源利用率,从而减少任务执行时间,可以使用并发(Concurrency)、并行(Parallelism)来达到这个目的。
并发和并行两种方式针对不同类型的任务有各自的优势,结合使用可以充分利用多核处理器的性能,并提高程序的整体效率。

一.并发 vs 并行的定义

并发是指多个任务在同一时间段内交替执行,而并行是指多个任务同时在不同处理器核心上执行。

1.1 并发

  • 1)适用场景:并发适合I/O密集型任务,比如网络请求、文件读写等操作。因为这些操作通常会涉及等待外部资源响应。
  • 2)实现手段:使用线程协程来实现
  • 3)并发编程库:python中常用的并发编程库包括threading(线程)和asyncio(协程)。
  • 4)并发其实是“伪并行”,在并发中不同任务之间通过时间片轮转或事件驱动等方式交替进行,从外部看起来好像是同时进行的。【更通俗一点讲,并发就是让程序在等待某些操作完成的过程中继续执行其他任务,提高了系统的资源利用率和响应速度。

1.2 并行

  • 1)适用场景:并发适合CPU密集型任务,比如大量的计算或数据处理等操作。
  • 2)实现手段:使用进程来实现
  • 3)并行编程库:python中常用的并行编程库包括multiprocessing。
  • 4)并行可以让任务在不同的处理核心CPU上并行执行,从而加速任务的处理速度,特别是当任务之间相互独立时,可以实现真正的同时执行
  • 29
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值