进程和线程
# 进程和线程区别
进程是资源分配的最小单位,线程是 CPU 调度的最小单位。
线程依赖于进程而存在,一个线程只能属于一个进程,一个进程可以有一个线程或者多个线程。
进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。(资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量)、数据段(全局变量和静态变量)、扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量)
进程编程调试简单可靠性高,但是创建销毁开销大;线程正相反,开销小,切换速度快,但是编程调试相对复杂。
进程间不会相互影响;而一个线程挂掉将导致整个进程挂掉。
进程适应于多核、多机分布;线程适用于多核
# 进程
进程是资源分配的最小单位
# 进程的三种基本状态
就绪状态:除 CPU 外已分配所有资源,等待获得处理机执行
执行状态:获得处理机,程序正在执行
阻塞状态:因等待而无法执行,放弃处理机,处于等待状态。(等待 I/O 口完成,申请缓冲区不满足,等待信号等)
# 线程
线程是 CPU 调度的最小单位
更新时间: 12/22/2021, 6:20:36 PM