今天我们来介绍如何在 python 中使用异步编程。本文主要介绍异步编程的用法,所以不会涉及太多底层概念。
概念简介
- 协程,是标注为
async
的特殊函数,可以异步执行代码 - 事件循环,python 异步编程的核心,负责调度协程
- Future,一种底层对象,表示异步操作的最终结果
- 任务,是 Future 的封装,可以包装协程,支持取消等操作
我们都知道在操作系统中,创建和切换进程和线程的操作是非常消耗资源的,在高负载场景下容易遭遇性能瓶颈。而协程是程序内部定义的一种更小的执行单元,由于不涉及进程和线程上下文切换的开销,所以协程的运行更加的轻量级,我们可以轻松在程序中创建和运行成千上万的协程。这是使用进程和线程根本无法做到的事情。