一句话记住核心定义:进程是资源容器,线程是干活的工人。进程是操作系统分配内存、文件等资源的基本单位,相互强隔离,切换开销大,但是稳定性高;线程属于进程内部,是 CPU 真正调度执行的最小单元,共享进程资源,轻量高效,但线程出错会毁掉整个进程。
并发和并行需要分清;多线程共享内存带来通信便利,同时引入数据竞争,需要锁同步。实际开发中,追求故障隔离优先多进程;追求高并发、低开销优先多线程,大量项目会把两者结合使用。
进程与线程是操作系统、后端开发的地基,不管是前端、后端、客户端开发,还是面试笔试,都绕不开这套基础概念。