关于异步,大家并不陌生,每种语言都有自己的实现。关于 Dart 的异步,大家也许听到过 Dart 是单线程语言,但是为什么单线程能实现异步?单线程如何利用 CPU 多核的能力?之前没有过类似经验的同学可能会有很多问号。也许本文能解释其中一部分问题,让刚接触 Dart 的同学有一个整体的概念,对于后续 Dart 的异步编程会有不少帮助。
本文主要包括两部分,第一部分是关于 Future
、Stream
这类异步 API 的简单介绍,对 Dart 异步代码有一个初步印象;第二部分是关于 Dart 异步机制的整体介绍,从全局的层面了解 Dart 的异步实现,先有了大的概念,不管是后续的 Coding 还是更细致的原理研究,都会有一定的帮助。