yin.kh

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

java中线程有哪些状态?

 

Thread类有一个内部的枚举,State

 

 

1、NEW

创建了一个Thread对象,还没有执行start之前,状态为NEW

 

2、RUNNABLE

调用了Thread的start()方法,状态变为 RUNNABLE

 

3、BLOCKED

正在等待获取锁,状态为BLOCKED。例如synchronized

 

4、WAITING

调用 Object.wait() 或 join() 方法后,线程进入WAITING状态。调用wait()方法需要通过notify()或notifyAll()唤醒线程。调用join()方法需要通过别的线程来终止。

 

5、TIMED_WAITING

调用 Object.wait(long) 或 join(long) 方法后,线程进入TIMED_WAITING状态。

 

6、TERMINATED

线程执行完毕,状态变为TERMINATED。

posted on 2017-02-13 16:23  yin.kh  阅读(155)  评论(0编辑  收藏  举报