zoukankan      html  css  js  c++  java
  • java 关于wait,notify和notifyAll

    public synchronized void hurt() {
      //...
      this.wait();
      //...
    }
    public synchronized void recover() {
       //...
       this.notify();
    }

    这里需要强调的是,wait方法和notify方法,并不是Thread线程上的方法,它们是Object上的方法。 

    因为所有的Object都可以被用来作为同步对象,所以准确的讲,waitnotify是同步对象上的方法。

    wait()的意思是: 让占用了这个同步对象的线程,临时释放当前的占用,并且等待。 所以调用wait是有前提条件的,一定是在synchronized块里,否则就会出错。

    notify() 的意思是,通知一个等待在这个同步对象上的线程,你可以苏醒过来了,有机会重新占用当前对象了。

    notifyAll() 的意思是,通知所有的等待在这个同步对象上的线程,你们可以苏醒过来了,有机会重新占用当前对象了。

  • 相关阅读:
    Automated Telephone Exchange
    Babelfish
    又见回文
    487-3279
    Robot Motion
    99. Recover Binary Search Tree
    98. Validate Binary Search Tree
    97. Interleaving String
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
  • 原文地址:https://www.cnblogs.com/Draymonder/p/9607670.html
Copyright © 2011-2022 走看看