一、核心区别
对比维度 | 进程 | 线程 |
---|---|---|
定义 | 操作系统分配资源的基本单位(如内存、文件、CPU时间片)。 | 进程内的一个执行单元,是CPU调度的最小单位。 |
独立性 | 拥有独立的地址空间、数据段、代码段和系统资源。 | 共享进程的资源(内存、文件句柄等),但拥有独立的栈、寄存器和程序计数器。 |
创建与销毁开销 | 高(需分配或回收内存、文件等资源)。 | 低(仅需分配栈和寄存器,共享进程资源)。 |
通信方式 | 必须通过进程间通信(IPC),如管道、消息队列、共享内存。 | 可直接读写共享内存,但需同步机制(如互斥锁、信号量)保证数据一致性。 |
崩溃影响 | 一个进程崩溃不影响其他进程。 | 一个线程崩溃可能导致整个进程终止。 |
切换开销 | 高(需切换地址空间、页表、上下文等)。 | 低(仅切换寄存器、栈等少量状态)。 |
资源占用 | 每个进程独立占用内存和系统资源。 | 多个线程共享同一进程的 |