JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

JVM 线程状态

wys521 2024-11-18 18:01:24 精选教程 22 ℃ 0 评论


NEW新建状态

我们可以通过实现Runnable接口或继承Thread声明一个线程类,new一个实例后,线程就进入了新建状态。


RUNNABLE可运行状态

处于 runnable 状态下的线程正在 Java 虚拟机中执行,但它可能正在等待来自于操作系统的其它资源,比如处理器或IO。

?

参考 https://mp.weixin.qq.com/s/2aMRGJGsde_fpqhHxxl26Q


BLOCKED阻塞状态

一个处于 blocked 状态的线程正在等待一个监视器锁以进入一个同步的块或方法。或者一个处于 blocked 状态的线程正在等待一个监视器锁,在其调用 Object.wait 方法之后被其他线程调用Object.notify方法,以再次进入一个同步的块或方法。

?

参考 https://www.cnblogs.com/zhongchang/articles/10339124.html


WAITING 等待

一个线程进入 WAITING 状态是因为调用了以下方法:

不带时限的 Object.wait 方法

不带时限的 Thread.join 方法

LockSupport.park

然后会等其它线程执行一个特别的动作,比如:

一个调用了某个对象的 Object.wait 方法的线程会等待另一个线程调用此对象的 Object.notify () 或 Object.notifyAll ()。

一个调用了 Thread.join 方法的线程会等待指定的线程结束


TIMED_WAITING 超时等待

一个线程处于这一状态是因为用一个指定的正的等待时间(为参数)调用了以下方法中的其一:

Thread.sleep

带时限(timeout)的 Object.wait

带时限(timeout)的 Thread.join

LockSupport.parkNanos

LockSupport.parkUntil


TERMINATED 终止状态

终止状态,这个也没什么好说的,完成了执行后(completed execution)或者说退出了(exited)。线程就进入了终止状态。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表