^_^关注收藏点赞,每天查看更新,我来为大家讲解一下关于java线程阻塞状态?跟着小编一起来看一看吧!

java线程阻塞状态(java线程间的通信-wait)

java线程阻塞状态

^_^关注收藏点赞,每天查看更新。

摘要:在Java多线程同步(synchronization)—两种方法同步代码块案例中无条件的阻塞了其他线程异步访问某个方法,其他线程处于等待状态,这样浪费了CPU资源。理想的情况下,让线程处于运作状态,节约CPU时间。所以,java包含了通过wai(),notify()和notifyAll() 方法实现进程间的通信机制。这些方法对象中是用final 方法实现的,所以所有的类都包含它们,这三个方法仅在synchronized方法中才能被调用。

    wait():告知被调用的线程放弃进入管程进入休眠直到其他线程进入相同管程并且调用notify();

    notify():恢复相同对象中第一个调用wait()的线程;

    notifyAll():恢复相同对象中所有调用wait()的线程,具有最高优先级的线程最先运行。

这些方法在Object中被声明,如下所示: