关于进程与线程的关系
关于进程与线程的关系
inkOrCloud概念
进程:指程序的一次执行过程,是系统资源分配的基本单位。每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅助数据。操作系统负责进程控制和资源分配等工作。
线程:进程内部的一个执行单元,是操作系统能够进行运算调度的最小单位,一个进程可以包含多个线程。 ## 对比
| 进程 | 线程 | |
|---|---|---|
| 占用 | 相互独立,内存占用较大,每个进程运行一个独立jvm | 虚拟机栈,本地方法栈,程序计数器独立,共享堆与元数据内存 |
| 通信 | IPC机制(套接字,管道等) | 可直接通过共享内存通信 |
| 健壮性 | 进程是资源分配的基本单位, 进程的崩溃只会影响当前进程及其子进程, 不会对系统其他进程造成影响 | 线程是程序执行的基本单位,一个线程崩溃可能会导致整个进程崩溃 |
总结
进程为一个程序一次执行的过程,线程为程序中的一个执行单元,一个进程可以包含多个线程,线程的性能开销较小且线程间方便相互通信,但从健壮性来看线程出错会对整个进程造成较大影响(chromium的多进程框架的主要目的之一就是提高应用健壮性)

![[leetcode 3321][Go][有序集合]计算子数组的 x-sum II](https://s3.inkorcloud.top/image/2025/11/c9f55b2ecb04d16a57547b9f4de294ef.png)
![[leetcode 2589][Go][贪心]完成所有任务的最少时间](https://s3.inkorcloud.top/image/2025/11/b966fd1a91aa1ea098b86e6d778523c2.png)
![[leetcode 3234][Go]统计1显著的字符串的数量](https://s3.inkorcloud.top/image/2025/11/a72a47911de291f51cbb5902e4811c1f.png)
![[leetcode 1611][Go][位运算][记忆化搜索]使整数变为 0 的最少操作次数](https://s3.inkorcloud.top/image/2025/11/9715b5f3d8a7574ded3648767538558e.png)
![[leetcode 2528][Go][二分答案][差分数组][前缀和]最大化城市的最小电量](https://s3.inkorcloud.top/image/2025/11/fa0013722d9361b4383839722394dcf2.png)