异步编程的主要目标是在执行 I/O 操作(如网络请求、文件读写)时,避免线程被“卡住”或“阻塞”。

当一个常规函数发起网络请求时,CPU 只能空闲等待网络返回数据,这段时间线程资源被白白浪费。异步编程允许 CPU 在等待一个任务的 I/O 时,切换去执行其他不依赖该 I/O 结果的任务。这样,单线程也能实现极高的并发效率,尤其适用于 I/O 密集型应用。

这好比一个厨师在等水烧开(I/O等待)的时候,他不会傻站着,而是会去切菜(执行其他任务)。

相关链接: