Java并发编程

Java并发编程 - 线程状态

2018-08-18  本文已影响7人  HRocky

These states are virtual machine states which do not reflect any operating system thread states.

Java语言中规定了线程的状态,但是这些状态只是表现在JVM层面上,并不反映的是操作系统线程状态。

线程状态转移图

线程状态转移图.png

线程状态定义

NEW

这个状态表示:线程还未启动

RUNNABLE

这个状态表示:线程在Java虚拟机中可运行

RUNNABLE状态包括了操作系统线程状态中的Running和Ready,也就是说处于此状态的线程可能正在运行,也可能正在等待系统资源,如等待CPU为它分配时间片;等待网络IO读取数据。

BLOCKED

这个状态表示:线程阻塞等待监视锁。

WAITING

这个状态表示:线程处于无限期等待状态

处于这种状态的线程不会被分配CPU执行时间,它们要等待显示地被其他线程唤醒。

TIMED_WAITING

这个状态表示:线程限期等待状态。

与WAITING不同的是等待时间的区别。

TERMINATED

这个状态表示:线程已停止运行。

线程已完成执行

上一篇下一篇

猜你喜欢

热点阅读