线程的生命周期

来源:互联网 发布:淘宝店铺等级在哪儿看 编辑:程序博客网 时间:2024/06/03 14:30

线程的几种状态:


1.NEW:已创建未启动。继承Thread类和实现Runnable接口。


2.RUNNABLE:包括两个子状态:READY和RUNNING。READY表示线程可以被线程调度器进行调度。RUNNING表示线程正在运行,即run方法正在被执行。处于READY状态的线程被称为“活跃线程”。


3.BLOCKED:阻塞状态。一个线程发起一个阻塞式I/O操作后,或者申请一个由其他线程持有的独占资源(比如锁)时,相应的线程会处于该状态。


4.WAITING:等待状态。Object.wait()方法,Thread.join()方法,LockSupport.park(Object)方法能够使线程进去等待状态。

Object.notify()方法,Object.notifyAll()方法和LockSupport.unpark()方法可以使线程从WAITING变成RUNNABLE.


5.TIMED_WAITING:有时间限制的等待状态


6.TERMINATED:线程已经执行结束。