关于进程与线程的关系

概念

进程:指程序的一次执行过程,是系统资源分配的基本单位。每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅助数据。操作系统负责进程控制和资源分配等工作。

线程:进程内部的一个执行单元,是操作系统能够进行运算调度的最小单位,一个进程可以包含多个线程。

对比

进程 线程
占用 相互独立,内存占用较大,每个进程运行一个独立jvm 虚拟机栈,本地方法栈,程序计数器独立,共享堆与元数据内存
通信 IPC机制(套接字,管道等) 可直接通过共享内存通信
健壮性 进程是资源分配的基本单位, 进程的崩溃只会影响当前进程及其子进程, 不会对系统其他进程造成影响 线程是程序执行的基本单位,一个线程崩溃可能会导致整个进程崩溃

总结

进程为一个程序一次执行的过程,线程为程序中的一个执行单元,一个进程可以包含多个线程,线程的性能开销较小且线程间方便相互通信,但从健壮性来看线程出错会对整个进程造成较大影响(chromium的多进程框架的主要目的之一就是提高应用健壮性)