线程什么时候会进入阻塞状态?

阻塞的情况分三种:
 1等待阻塞(o.wait->等待对列):
运行的线程执行 o.wait()方法,JVM 会把该线程放入等待队列(waitting queue) 中。
 2 同步阻塞(lock->锁池)
运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则 JVM 会把该线程放入锁池中。
 3其他阻塞(sleep/join)
运行的线程执行 Thread.sleep(long ms)或 t.join()方法,或者发出了 I/O 请求时,JVM 会把该线程置为阻塞状态。当 sleep()状态超时、join()等待线程终止或者超时、或者 I/O 处理完毕时,线程重新转入可运行状态.

你可能感兴趣的:(#,JavaSE,java,多线程,并发编程)