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。