java线程状态

2020-01-09  本文已影响0人  乌木山

java的线程状态包括以下几种:

NEW

线程创建的初始状态。

RUNABLE

线程正在执行。

注意这里是java线程的状态,而非操作系统中的线程状态,因此有可能RUNABLE状态的线程正处于等待系统cpu资源的状态。

BLOCKED

线程处于等待锁的状态。当java线程为了进入synchronized代码块等待获取monitor,或者被唤醒重新等待获取monitor。就会进入blocked状态。
如果在实际项目中,发现大量block线程,可能就需要我们去关注是什么东西导致的锁竞争。因为大量线程处于blocked不是一个健康态。

WATING

等待某一个状态或结果,一般是由其他线程来唤醒。通过调用如下的方法,线程会进入waiting状态。

TIMED_WAITING

和waiting状态基本一直,只不过在超过等待时间后会被自动唤醒。通过如下方法会进入TIMED_WAITING状态:

TERMINATED

线程执行玩任务后,就会到达终止态。

上一篇 下一篇

猜你喜欢

热点阅读