深入理解Kotlin协程
上QQ阅读APP看书,第一时间看更新

1.1.1 程序的执行

如果我们把处理器比作“大脑”,那么程序的执行就是处理器对指令进行“阅读理解”的过程,任何时候处理器都是逐条执行指令(见图1-1),哪怕出现了外部中断,也不过是从这一段程序跳到另一个段程序,接着顺序执行。

图1-1 程序同步执行

虽然最终程序由机器去执行,编写程序的人却希望程序能够描述复杂的世界,也就是描述复杂的业务逻辑,而这些复杂的逻辑并非顺序发生的,甚至多个事件的发生之间没有明显的依赖关系,但它们却最终作用于同一个结果,而这就让程序变得复杂起来了。

在这个过程当中,指令的执行顺序有两种,其中指令按顺序执行的情形叫作同步执行,反之则称为异步执行。

注意 同步和异步是一组描述指令执行或者事件产生顺序的概念,经常同时提及也容易被混淆的还有并发、并行的概念,这二者描述的是多个或者多段可独立运行的程序对系统资源(主要是CPU)的占用,是对程序在不同维度上的描述。通常异步也伴随着并发或者并行的发生,但这并不是必然的。