直接回答:进程是资源分配的基本单位,线程是 CPU 调度的基本单位。进程拥有独立的地址空间、文件描述符表、内存等系统资源;同一进程内的线程共享该进程的资源,只私有栈、寄存器上下文和线程局部存储。
展开解析:由此产生几个关键差异。开销上,创建/销毁进程和进程间切换更重(涉及地址空间与页表切换),线程更轻量。通信上,线程间可直接读写共享变量(需配合同步),进程间必须借助管道、共享内存、消息队列等 IPC 机制。健壮性上,一个线程崩溃通常拖垮整个进程,而进程间相互隔离。并发能力上,多线程可利用多核,但也引入竞态。追问方向:为什么线程切换仍要进内核、协程比线程更轻在哪、Chrome 为什么选择多进程架构(隔离与安全沙箱)。