线程状态有:1、新建状态:线程对象被创建后,就进入了新建状态。例如,Thread thread=new Thread();2、就绪状态:也被称为“可执行状态”;3、运行状态:线程获取CPU权限进行执行;4、阻塞状态:线程因为某种原因放弃CPU使用权,暂时停止运行;5、等待状态:需要等待其他线程做出一些特定动作;6、超时等待状态:可以在指定的时间自行返回;7、终止状态等等。
本教程操作系统:windows10系统、Dell G3电脑。
Java线程状态主要有以下几种:
1、新建状态(New):线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。
2、就绪状态(Runnable):也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行。
3、运行状态(Running):线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态。
4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞状态可以分为以下几种:
a) 同步阻塞:运行的线程在获取对象的同步锁时,该同步锁被其他的线程占用,则JVM会将该线程放入锁池中。
b) 等待阻塞:运行的线程执行wait()方法,JVM会将该线程放入等待池中。
c) 其他阻塞:运行的线程执行sleep()方法或join()方法、或者发出了I/O请求,JVM会把该线程置于阻塞状态。
5. 等待状态(Waiting):进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断)。
6. 超时等待状态(Timed_Waiting):该状态不同于Waiting,它可以在指定的时间自行返回。
7. 终止状态(Terminated):表示该线程已经执行完毕,系统里面的线程已经执行完毕,销毁了,但是Thread对象还在。System.out.println(t.getState()); } }
以上就是Java中的几种线程状态,需要注意的是,一个线程在其生命周期中可能会经历这些状态,这些状态也构成了线程的生命周期。同时,各种状态的转换规则也相当重要,理解这些规则对于编写正确且高效的Java多线程程序非常重要。
以上就是Java中线程状态有哪些的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!