Java线程共有6种状态,分别是:
1.新建状态(New):新创建了一个线程对象,但还没有调用start()方法。
2.运行状态(Runnable):线程对象调用了start()方法,线程进入了运行状态。但是并不意味着线程正在运行中,只是说此线程具备了运行的条件,具体的运行时间还要看CPU调度。
3.阻塞状态(Blocked):线程在运行过程中遇到了IO操作或者锁对象,导致线程暂时停止执行,进入阻塞状态。
4.等待状态(Wait):线程调用了wait()方法,线程进入等待状态,直到被notify()或notifyAll()唤醒。
5.超时等待状态(Timed_Wait):线程调用了wait()方法并指定了等待时间,线程进入超时等待状态,直到时间结束或被notify()或notifyAll()唤醒。
6.终止状态(Terminated):线程执行完了run()方法,或者因为异常退出了run()方法,线程进入终止状态。