news 2026/10/15 14:11:30

Python中同步异步编程原来是这样!附代码案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python中同步异步编程原来是这样!附代码案例

有人问,Python中所谓的同步异步编程到底是什么呀?

同步异步其实很好理解,比如你去某站下载视频,有两种情况,分别代表同步和异步。

1、点击下载视频A,等A下载好后,再点击下载视频B,以此类推下载所有视频。

2、点击下载视频A,不管是否下载好,然后立即点击下载视频B,各下载任务同时进行中,以此类推下载所有视频。

第1种是同步,是排队执行,只有前一个任务完成后才执行后一个任务。

第2种是异步,边干边等,利用等待时间去处理其他任务,可以多个任务灵活并行。

如果不考虑网速带宽,第1种效率很明显会低于第2种。

下面咱们用Python代码测试下,首先是同步执行下载任务。

# 测试:使用同步代码 import time def dowload(name): print(f"{name}开始下载") time.sleep(2) # 模拟视频下载耗时 print(f"{name}下载完成") begin = time.time() dowload("视频A") # 必须等A下载完... dowload("视频B") # ...才会开始下载视频B end = time.time() print("用时{}秒".format(end - begin))

结果如下,用时4秒+。

因为同步会阻塞,视频A下载好了才开始下载视频B。

接下来使用异步编程来实现同样的任务。

这里注意下,Python中使用异步编程,需要async/await特殊语法。

# 测试:使用异步代码 import asyncio import time asyncdef dowload(name): print(f"{name}开始下载") await asyncio.sleep(2) # 非阻塞等待 print(f"{name}下载完成") asyncdef main(): await asyncio.gather( dowload("视频A"), dowload("视频B") ) begin = time.time() asyncio.run(main()) end = time.time() print("用时{}秒".format(end - begin))

结果如下,只用了2秒+。

异步不用等待A下载完成,直接下载B,两个同时进行,不存在等待阻塞。

这下就很好理解同步和异步的原理和区别了,同步是排队干活,异步并不是同时干很多活,而是灵活的分配精力在多个任务上,不因为等待而耗费时间。

那同步和异步的使用场景有哪些呢?

同步适合那些严格依赖执行顺序的任务,比如订单任务(下单->发货)、转账任务(扣款->入账)等,还有CPU计算密集型任务,像是数学计算、图像处理等。

异步则适合那些IO操作密集型和高并发的任务,比如给用户发消息、web网页请求、文件读写、文件下载和上传等,这些任务的特点是需要等待时间,异步能提高任务执行效率。

所以说同步异步适合不同的业务场景,并不存在好坏对错之分。

下表是一些场景和案例对比,供参考。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/10 22:01:24

Orange,可以拖拉拽的Python数据挖掘软件,强烈推荐~

推荐Python,因为Python有太多神奇的数据分析库可以用了,Orange就是其中一个。大家知道Python是数据分析挖掘的核心编程语言,但一般门槛较高,你得掌握pandas、numpy、sklearn、keras等复杂的数据处理和机器学习框架,才能…

作者头像 李华
网站建设 2026/10/13 12:25:33

几何建模引擎 ACIS/Parasolid/CGM/OpenCascade

1.几何建模引擎 ACIS/Parasolid/CGM/OpenCascade 这几款几何建模引擎(Geometric Modeling Kernels)是现代工业软件(CAD/CAM/CAE)的“心脏”。它们负责处理最底层的几何计算、拓扑关系和布尔运算。 为了帮你理清这四款引擎的区别…

作者头像 李华
网站建设 2026/10/15 3:21:56

大模型完全指南:从零到高薪就业,月薪30K+的AI岗必学收藏!_为什么转行大模型行业?一篇文章让你搞明白

文章分析了大模型行业的爆发式发展,指出传统技术岗位面临萎缩,而大模型领域呈现高薪、稀缺、前沿的职业优势。提供了系统化转行路径:基础知识构建(1-3个月)、核心技能进阶(3-6个月)、行业级项目实战(6-12个月)。同时探讨了技术门槛突破、竞争…

作者头像 李华
网站建设 2026/10/14 15:33:49

HCIP代码小练-1

进行网段划分:1.区分还回网段(环回接口:路由器的虚拟接口,一般用于模拟测试,不需要设备支撑)及骨干链路的网段划分。2.将192.168.1.0 24 划分成两个子网并进行环回网段的分配。3.因为骨干链路只用两个接口&…

作者头像 李华
网站建设 2026/10/12 4:19:38

强烈安利8个一键生成论文工具,自考学生轻松搞定毕业论文!

强烈安利8个一键生成论文工具,自考学生轻松搞定毕业论文! AI 工具如何改变论文写作的未来 随着人工智能技术的不断进步,越来越多的自考学生开始借助 AI 工具来完成毕业论文的撰写。在当前的学术环境中,AIGC(人工智能生…

作者头像 李华
网站建设 2026/10/14 14:14:22

浩思动力混动系统赋能吉利雷达金刚PHEV高性能皮卡上市

近日,浩思动力超级电混系统正式搭载于吉利雷达金刚PHEV山地版车型。该车型为混动皮卡,以“山地高原动力之王”为定位,面向西南、西北等高原及山区复杂地形,覆盖户外运输工程作业、越野探险等应用场景,充分展现了浩思动力在高性能混合动力领域的系统化技术实力。作为新一代动力总…

作者头像 李华