线程状态
Java中线程的状态有六种,分别为:
① 新建(NEW):新创建出来的线程且还没有调用start()时处于新建状态
② 就绪(RUNNABLE):调用了start()方法后,线程处于就绪状态。注意,调用start方法后并不能使线程立即执行。
③ 阻塞(BLOCKED):当一个锁被其他线程占用时,此时当前线程进入阻塞状态,等待获取锁。
④ 等待(WAITING) :当一个线程调用了join()、wait()方法时,线程进入等待状态。
⑤ 超时等待(TIMED_WAITING):当一个线程调用sleep(),或者wait(long mill)、join(long mill)时,线程进入超时等待状态。
⑥ 终止状态(TERMINATED):线程终止时线程所处的状态。
线程六状态转换关系图: