wait,notify,notifyall

wait用来将当前线程置入休眠状态,直到接到通知或被中断为止。在调用 wait()之前,线程必须要获得该对象的对象级别锁,即只能在同步方法或同步块中调用 wait()方法。进入 wait()方法后,当前线程释放锁。
notify()就是对对象锁的唤醒操作。但有一点需要注意的是notify()调用后,并不是马上就释放对象锁的,而是在相应的synchronized(){}语句块执行结束,自动释放锁后,JVM会在wait()对象锁的线程中随机选取一线程,赋予其对象锁,唤醒线程,继续执行。这样就提供了在线程间同步、唤醒的操作。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 591235401@qq.com

文章标题:wait,notify,notifyall

本文作者:阿杜同学

发布时间:2019-05-21, 14:25:10

最后更新:2019-05-21, 14:25:10

原始链接:http://yoursite.com/2019/05/21/wait,notify,notifyall/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录