一、前言

进程线程是开发/运维/后端必问面试题,必须背诵标准化区别,本篇为企业面试官认可的满分答案。


二、基本定义

1. 进程(Process)

操作系统资源分配的最小单位,独立内存、独立CPU资源,进程间完全隔离。

2. 线程(Thread)

操作系统CPU调度的最小单位,线程隶属于进程,共享进程资源。


三、核心五大区别(面试背诵版)

  1. 资源隔离不同:进程独立内存互不共享;线程共享进程内存、变量、文件资源。

  2. 开销不同:进程创建销毁开销极大;线程轻量、开销极小。

  3. 调度单位不同:进程是资源单位,线程是CPU调度单位。

  4. 影响范围不同:一个进程崩溃不影响其他进程;一个线程崩溃,整个进程全部崩溃。

  5. 通信方式不同:进程间通信复杂(管道、队列);线程直接共享变量通信。


四、通俗理解

进程=工厂车间(独立空间、独立资源)

线程=车间工人(共享车间资源,协同干活)


五、Linux运维视角

  • ps 查看进程

  • top -H 查看线程

  • 僵尸进程、孤儿进程都是进程异常


六、面试总结

一句话满分总结:进程资源独立、开销大、隔离性强;线程资源共享、开销小、耦合度高。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐