进程与线程
进程与线程的区别
核心区别
| 维度 | 进程 | 线程 |
|---|---|---|
| 资源 | 资源分配的基本单位 | CPU 调度的基本单位 |
| 地址空间 | 独立 | 共享进程地址空间 |
| 开销 | 创建/切换开销大 | 创建/切换开销小 |
| 通信 | IPC(管道、消息队列、共享内存等) | 直接读写共享内存 |
| 崩溃影响 | 一个进程崩溃不影响其他进程 | 一个线程崩溃可能拖垮整个进程 |
关键点
- 进程是操作系统进行资源分配和调度的独立单位,拥有独立的地址空间。
- 线程是进程内的执行流,共享代码段、数据段、堆,但拥有独立的栈和寄存器上下文。
- 线程间切换不需要切换地址空间,因此比进程切换更快。
联系
一个进程至少包含一个线程(主线程)。多线程可以实现进程内的并发,但需要处理同步问题(锁、信号量等)。


评论(0)
还没有评论,来抢沙发吧~