视频资源获取失败
线程阻塞通常是指一个线程在执行过程中暂停,以等待某个条件的触发。而什么情况才会使得线程进入阻塞的状态呢?
等待阻塞:运行的线程执行 wait() 方法,该线程会释放占用的所有资源,JVM 会把该线程放入“等待池”中。进入这个等待状态 (WAITING) 后,是不能自动唤醒的,必须依靠其它线程调用 notify() 或 notifyAll() 方法才能被唤醒,或者是被中断后才能唤醒,然后被调度后开始运行或同步阻塞。
同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁 (synchronized) 被别的线程占用,则 JVM 会把该线程放入“锁池”中,注意这种阻塞 (BLOCKED) 是不能被打断的。
还有运行的线程执行 sleep() 或 join() 方法,或者发出了可以中断的 I/O 请求时,JVM 会把该线程置为等待 (WAITING) 状态:当 sleep() 状态超时、join() 等待线程终止或者超时、或者可以中断的 I/O 处理完毕时,线程重新转入运行状态 (被调度后开始运行或等待调度);此外线程被中断后也能进入运行状态。
在 Java 中,最好...
