首页 > 后端开发 > 正文

java线程运行怎么有第六种状态

2024-04-29 08:53:25 | 我爱编程网

今天我爱编程网小编整理了java线程运行怎么有第六种状态相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

java线程运行怎么有第六种状态

java线程运行怎么有第六种状态

其实线程只有"就绪"、"阻塞"、"运行"三种状态:

1. 运行状态,线程正在干活的状态我爱编程网

2. 就绪状态,CPU正在忙活别的,线程摇晃着一个"恭候您光临"的小旗子的状态

3. 阻塞状态,线程主动让出CPU资源,摇晃着一个"我这会还不能出台您稍后再来"的小旗子的状态

"新建"和"终止"这两种状态其实并不是线程的状态,而是java.lang.Thread对象的状态。可以说,处于"新建"和"终止"状态的"线程"其实并不是线程,而只是一个代表着线程对象而已。

所以我们把"新建(NEW)"和"终止(TERMINATED)"两种状态去掉,那么Java定义的线程状态还有4种:

1. RUNNABLE

2. BLOCKED

3. WAITING

4. TIMED_WAITING

这四种状态怎么对应到"就绪"、"阻塞"、"运行"这三种状态里呢:

1. RUNNABLE,对应"就绪"和"运行"两种状态,也就是说处于就绪和运行状态的线程在java.lang.Thread中都表现为"RUNNABLE"

2. BLOCKED,对应"阻塞"状态,此线程需要获得某个锁才能继续执行,而这个锁目前被其他线程持有,所以进入了被动的等待状态,直到抢到了那个锁,才会再次进入"就绪"状态

3. WAITING,对应"阻塞"状态,代表此线程正处于无限期的主动等待中,直到有人唤醒它,它才会再次进入就绪状态

4. TIMED_WAITING,对应"阻塞"状态,代表此线程正处于有限期的主动等待中,要么有人唤醒它,要么等待够了一定时间之后,才会再次进入就绪状态

java线程运行怎么有第六种状态

Java中线程的几种可用状态有哪些?请大家解释一下。

线程在执行过程中,可以处于下面几种状态:

1、就绪(Runnable):线程准备运行,不一定立马就能开始执行。

2、运行中(Running):进程正在执行线程的代码。

3、等待中(Waiting):线程处于阻塞的状态,等待外部的处理结束。

4、睡眠中(Sleeping):线程被强制睡眠。

5、I/O阻塞(BlockedonI/O):等待I/O操作完成。

6、同步阻塞(BlockedonSynchronization):等待获取锁。

7、死亡(Dead):线程完成了执行。

java线程运行怎么有第六种状态

怎样在一个java程序中获得另一个程序的运行状态

先把2个文件放在同一个包下面,这样就可以访问另一个java程序了。

一般的方法是在a程序里实例化b类,然后通过b.方法名

去调用b类里的方法

runtime.getruntime().exec("外部程序");

相当于你在cmd控制台中输入"外部程序"并回车执行

以上就是java线程运行怎么有第六种状态全部内容,更多相关信息,敬请关注我爱编程网。

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“java线程运行怎么有第六种状态”相关推荐