美文网首页
java线程之等待/通知模式

java线程之等待/通知模式

作者: dimdark | 来源:发表于2018-03-10 16:20 被阅读0次

    java 实现线程之间通信的方式采用 等待/通知模式, 用到 Object 类中三个不可重写的方法: wait , notify, notifyAll

    等待/通知模式的常用方法
    使用 wait 方法的注意事项:
    • 在调用 wait 方法之前, 线程必须获得该对象的对象级别锁, 即只能在同步方法同步块中调用 wait 方法, 否则执行期间会抛出 IllegalMonitorStateException 异常;
    • 当前线程在执行 wait 方法后会释放其拥有的对象锁;
    • 当前线程在执行 wait 期间时若发现当前线程的中断状态为 true时会抛出 InterruptedException 异常;

    使用 notify / notifyAll 方法的注意事项:

    • notifynotifyAll 方法必须在同步方法同步块中调用, 即在调用前, 线程必须获得该对象的对象级别锁, 否则执行期间会抛出 IllegalMonitorStateException 异常;
    • 执行 notifynotifyAll 方法后当前线程不会马上释放该对象锁, 直到线程将同步方法同步块执行完成为止;

    相关文章

      网友评论

          本文标题:java线程之等待/通知模式

          本文链接:https://www.haomeiwen.com/subject/jlxbfftx.html