diff --git a/book/contents/async/getting-started.md b/book/contents/async/getting-started.md index ba3b127d..d0cfb030 100644 --- a/book/contents/async/getting-started.md +++ b/book/contents/async/getting-started.md @@ -56,6 +56,15 @@ - 有大量 `CPU` 密集任务需要并行运行时,例如并行计算,选多线程模型,且让多线程数等于或者稍大于 `CPU` 核心数 - 无所谓时,统一选多线程 +#### async和多线程的性能对比 + +| 操作 | async | 线程 | +| ---- | ----- | ---- | +| 创建 | 0.3微妙 | 17微妙 | +| 线程切换 | 0.2微妙 | 1.7微妙 | + +可以看出,`async` 在线程切换的开销显著低于多线程,对于 IO 密集的场景,这种性能开销累计下来会非常可怕! + #### 一个例子 在大概理解`async`后,我们再来看一个简单的例子。如果想并发的下载文件,你可以使用多线程如下实现: ```rust