Logo
Section 1 / 8

异步编程

到目前为止,我们一直在进行同步编程。在本节课中,我们将学习什么是异步编程以及它为什么重要。

导入

异步编程

到目前为止,我们一直在进行同步编程。在本节课中,我们将学习什么是异步编程以及它为什么重要。

同步编程

同步程序执行非常简单:程序从第一行开始,逐行执行,直到程序结束。每次调用函数时,程序会等待函数返回后才继续执行下一行。

为什么需要异步编程?

异步编程允许你在单一线程中编写并发代码。

并发

想象一下,你一边读小说,一边画画。虽然看起来你同时在做这两件事,但实际上你是在两个任务之间来回切换;当等油漆晾干时,你就在读小说,而当你在画画时,就会暂停阅读。这被称为并发。

下图展示了任务之间的上下文切换过程。

单线程让你可以决定调度器在何时从一个任务切换到另一个任务,这意味着在任务之间共享数据更加安全且更容易。

最小内存使用

每次创建新线程时,都会消耗一些内存用于上下文切换。如果使用异步编程,则不存在这个问题,因为代码在单一线程中运行。

接下来的课程中,我们将学习异步代码的组成部分。

生成器

异步代码的组成部分