Python's AsyncIO 实践指南
· 阅读需 37 分钟 ·
Python 的 asyncio 库允许使用 async 和 await 关键字来编写并发代码。其核心构件是可等待对象 (awaitable objects),通常为协程 (coroutines)。这些可等待对象由事件循环 (event loop) 调度并以异步方式执行。这种编程模型能够在单线程环境下,高效地管理大量 I/O 密集型任务
本教程将介绍 Python asyncio 的工作原理、如何定义并运行协程、 以及在处理 I/O 密集型任务的应用中何时使用异步编程以获得更好的性能
读完本文,你将了解:
- Python
asyncio提供了一个使用协程、事件循环和非阻塞 I/O 操作来编写单线程并发代码的框架 - 对于 I/O 密集型任务,异步 I/O 通常比多线程 (multithreading) 更高效,尤其是在管理大量并发任务时,因为它避免了线程调度与同步带来的开销
- 当应用程序在等待 I/O 操作(如网络请求或文件访问)上花费大量时间,且希望在不额外创建线程(threads)或进程(processes)的情况下并发执行大量相似任务时,应当使用
asyncio
重要
本篇是笔者翻译的 Python's asyncio: A Hands-On Walkthrough站外链接,仅作中文翻译及学习交流使用,如有侵权请联系删除
