1. 进程与线程、协程与线程、异步与非阻塞、并发与并行的辨析如何一句话讲清?
如何用一句话讲清进程与线程、协程与线程、异步与非阻塞、并发与并行这几组易混淆概念的区别?
- 理解进程、线程、协程的资源与切换模型
- 掌握异步与非阻塞的语义差异
- 理解并发与并行的本质区别
一句话讲清:进程是资源分配(内存、文件、地址空间)的基本单位,线程是 CPU 调度的基本单位,同一进程内多个线程共享地址空间;协程是用户态可主动让出/恢复的轻量级执行单元,挂载在线程上,切换由程序控制而非内核抢占,成本远低于线程。异步是"不等待结果、通过回调/事件通知完成",非阻塞是"调用不阻塞当前线程、立即返回",异步可以基于非阻塞实现。并发是多个任务在时间段内交错执行(逻辑上同时),并行是多个任务在同一时刻真正同时执行(物理上同时,需多核)。
关键区分维度:进程/线程看"资源与调度的归属",协程/线程看"切换由谁控制(内核 vs 用户态)",异步/非阻塞看"是否等待结果 vs 是否阻塞调用",并发/并行看"逻辑同时 vs 物理同时"。用这些维度能一句话讲清每组概念。