1. 为什么要并发编程及优点
- 提高cpu利用率;
- 业务拆分,提升应用性能。
2. 并发编程缺点
- 频繁地上下文切换(context)比较耗时;
- 线程安全问题(如死锁)。
3. 易混淆的概念
- 同步 vs 异步(是否等待等待调用的方法返回后再往后执行)
- 并发 vs 并行(多个任务交替进行 vs 真正的同时进行)
- 阻塞 vs 非阻塞(是否资源被占有,导致线程等待和挂起)
- 临界区(被多线程共享的资源或数据)
参考链接:https://juejin.im/post/5ae6c3ef6fb9a07ab508ac85