阻塞结束后会进入就绪状态

  1. 睡眠阻塞:调用Thread.sleep方法,此时线程不会释放锁对象,睡眠结束后,进入就绪状态。
  2. 等待阻塞:调用wait,线程让出资源和CPU执行权,线程不能自己醒来,需要其他线程执行notify或notifyall方法,唤醒。=》就绪状态
  3. 礼让阻塞:调用yield,将CPU执行权让出来,等待列中的所有线程一同竞争。此时线程进入就绪状态
  4. 自闭阻塞:调用join方法,当前线程阻塞,去运行join的那个线程,join的线程运行结束后在运行当前线程。
  5. IO阻塞:线程发起IO请求时,会进入阻塞状态
  6. 同步阻塞:(Lock->锁池)运行线程在获取同步锁时,该锁被其他线程占用,则JVM会吧该线程送入锁池。