Skip to content

线程状态

主要分为 ——

text
         ┌─────────────┐
         │     New     │
         └─────────────┘


┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
 ┌─────────────┐ ┌─────────────┐
││  Runnable   │ │   Blocked   ││
 └─────────────┘ └─────────────┘
│┌─────────────┐ ┌─────────────┐│
 │   Waiting   │ │Timed Waiting│
│└─────────────┘ └─────────────┘│
 ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─


         ┌─────────────┐
         │ Terminated  │
         └─────────────┘

( 引用自 廖雪峰 线程的状态

New 线程对象被创建,但是各种资源尚未准备好(比如tcb等) Runnable TCB 等已被创建清楚,该线程在就绪队列中等待被运行 Running 线程正在运行中 Blocked 阻塞状态,线程让出资源(主动或者被动) Waiting 等待状态,线程被阻塞让出资源后,被放入对应的等待队列 Terminated 终止线程,可以是主动运行结束,也可能是被意外终止

一个线程从 New 开始,不断的在被调度器或者其他方法影响,在中间四种状态中不断切换,最后到达 Terminatd 状态,标志结束

Released under the MIT License.