网站首页 > 精选文章 正文
大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第99篇文章,第三阶段的课程:Python进阶知识:用一个简单的案例说明同步与异步之间的区别,以及异步的效率。
异步的原理已经在前面的文章讲过,本文主要比较同步与异步的差异;使用一个模拟下载文件的案例,比较同步与异步在效率上的差异。
1、使用同步的方式下载文件
从程序执行的顺序上可以看出,同步下载文件时会按照顺序进行下载,如果遇到了IO阻塞;程序暂停,等待IO阻塞结束,继续执行程序。
在这个案例中,模拟下载5个文件并阻塞程序1秒,使用同步下载时总共用了5.06秒。
2、使用异步的方式下载文件
异步程序的执行顺序则完全不一样,当程序遇到IO阻塞时,程序会跳到另外的任务继续执行;当被阻塞的任务可以继续执行时,程序会跳回原来的位置继续往下执行,从效率上看异步比同步要快很多。
在这个案例中,同样也是模拟下载5个文件并阻塞程序1秒,使用异步下载总共用了3.04秒。
通过简单的案例已经看出异步的效率;
本文中的案例仅仅是下载5个文件,如果是几十万或几百万个文件同时下载,会更明显感受到异步的效率。
如果是异步+多线程,那绝对是“我一秒钟几十万,分分钟几百万”。
以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。
感谢您的阅读,您的三连【关注、点赞、收藏】就是对我最大的支持,谢谢!
本文由杨数Tos原创,欢迎关注,带你一起长知识。
猜你喜欢
- 2025-04-30 干货|三相异步电动机绕组故障分析和处理、附表!
- 2025-04-30 异步爬虫进阶:使用asyncio和aiohttp实现高效异步爬取
- 2025-04-30 奇奇怪怪,单相双值电容电动机接线,大神也会被绊倒
- 2025-04-30 PHP 8.1新功能初探:添加Enums, Fsync和Fibers等 正式版11月发布
- 2025-04-30 异步fifo设计及时序约束设置(异步fifo结构图)
- 2025-04-30 Rust异步HTTP全攻略:reqwest库的最佳实践
- 2025-04-30 图片异步延迟加载,提升网页打开速度
- 2025-04-30 PHP如何并行异步处理HTTP请求(php异步调用)
- 2025-04-30 Python异步编程:3小时从入门到实战,让你的程序快如闪电!
- 2025-04-30 聊一下 gRPC 的 C++ 异步编程(grpc 异步流模式)
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)