导入
异步编程
到目前为止,我们一直在进行同步编程。在本节课中,我们将学习什么是异步编程以及它为什么重要。
同步编程
同步程序执行非常简单:程序从第一行开始,逐行执行,直到程序结束。每次调用函数时,程序会等待函数返回后才继续执行下一行。
为什么需要异步编程?
异步编程允许你在单一线程中编写并发代码。
并发
想象一下,你一边读小说,一边画画。虽然看起来你同时在做这两件事,但实际上你是在两个任务之间来回切换;当等油漆晾干时,你就在读小说,而当你在画画时,就会暂停阅读。这被称为并发。
下图展示了任务之间的上下文切换过程。
单线程让你可以决定调度器在何时从一个任务切换到另一个任务,这意味着在任务之间共享数据更加安全且更容易。
最小内存使用
每次创建新线程时,都会消耗一些内存用于上下文切换。如果使用异步编程,则不存在这个问题,因为代码在单一线程中运行。
接下来的课程中,我们将学习异步代码的组成部分。