进程的状态切换:
进程主要有五种状态,分别是新建、就绪、运行、阻塞、销毁。如下图:
严格来说,进程还有挂起的状态,主要为了解决内存资源不足的问题。如果终端用户请求、父进程请求、负荷调节都需要使用挂起状态。如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OfegCY23-1624800957104)(https://camo.githubusercontent.com/1b7a97e33cf6a59dd5cf3705977eb4f8d6a0d5267f346b2f0e9158d790149fba/687474703a2f2f6d6d62697a2e717069632e636e2f6d6d62697a5f706e672f42574c624b395067714b316445427a534a6a37706a70696346684b336150696377496c696255585572696266374d4144534b576b496b716753724a6149336d69614e7047313831376d636f4f5451687253454f66444d556f5650672f303f77785f666d743d706e67)]
在就绪和阻塞两个状态中,再区分静止就绪和活动就绪,以及静止阻塞和活动阻塞;静止与活动状态之间通过激活和挂起来相互切换,同时运行状态可以通过挂起来切换成静止就绪状态。
线程的状态切换:
线程是进程的微观表现,因此线程的状态基本与进程状态一致,切换的条件也是基本一致。如下图:
本篇文章由一文多发平台ArtiPub自动发布