如何唤醒一个处于阻塞状态下的线程

Posted song.yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何唤醒一个处于阻塞状态下的线程相关的知识,希望对你有一定的参考价值。

(1)同步阻塞:等待锁的释放
(2)等待阻塞:
1)使用Thread.sleep造成的阻塞:时间结束后自动进入RUNNABLE状态
2)使用Thread.wait造成的阻塞:使用Thread.notify或者Thread.notifyAll唤醒
3)使用Thread.join造成的阻塞:等待上一个线程执行完后自动进入RUNNABLE状态

4)使用Thread.suspend造成的阻塞:使用Thread.resum唤醒
5)使用LockSupport.park造成的阻塞:使用LockSupport.unpark唤醒
6)使用LockSupport.parkNanos造成的阻塞:指定时间结束后,自动唤醒
7)使用LockSupport.parkUntil造成的阻塞:到达指定的时间,自动唤醒

 

以上是关于如何唤醒一个处于阻塞状态下的线程的主要内容,如果未能解决你的问题,请参考以下文章

线程的通讯-----wait和notify的使用

唤醒一个处于睡眠状态的 QThread?

多线程的一点点整理

线程生命周期

线程生命周期

CyclicBarrier详解