并发(Concurrency)
缩写:无
简述
在重叠的时间段内推进多个任务的结构化方式,任务可能交替而非同时执行。并发关注组合与交互;并行关注同时利用多计算资源。并发引入竞态、死锁等正确性问题。
使用场景
服务多请求、UI 响应与后台工作、流水线。
实践与应用
• 先划清共享状态
• 优先消息传递或不可变共享
• 为并发代码准备专门测试
注意事项
• 以为单线程数据结构天然安全
• 无超时的锁与请求
对比与易混
| 并发 | 并行 | |
|---|---|---|
| 含义 | 可交错推进多个任务 | 同时用多资源真算 |
| 单核 | 可以 | 不能真正并行 |
关联术语
• 并行:同时利用多计算资源的对照概念
• 线程 / 进程:并发的常见执行载体
• 异步:不阻塞等待完成的风格
• 竞态条件:并发下时序相关的缺陷
• 同步与锁:协调共享访问的手段