文章目录
一、异步编程基础概念
1.1 同步 vs 异步
特性 | 同步 | 异步 |
---|---|---|
执行方式 | 顺序执行,阻塞调用 | 非阻塞,调用后立即返回 |
线程使用 | 单线程完成所有任务 | 多线程并行处理 |
响应性 | 较差,需等待前任务完成 | 较好,可立即响应新请求 |
复杂度 | 简单直观 | 较复杂,需处理线程安全 |
适用场景 | 简单流程,短时间任务 | IO密集型,长时间任务 |
通俗理解:同步就像在银行柜台排队办理业务,必须等前面的人办完才能轮到你;异步则像取号后可以坐着玩手机,等叫号时再去办理。
1.2 为什么要使用异步
- 提高吞吐量:服务器能同时处理更多请求
- 增强用户体验