根据我的理解,如果我是线程那么:
当我拨打notify()
/ notifyAll()
时,这意味着我正在向其他线程发送信号
正在等待这个对象监视器。我是对的吗?
但是wait()
意味着什么?
我是否向其他线程发送信号等待,以便我可以完成我的工作?
或
我宣布我会等你,你完成工作并告诉我什么时候完成。
我对线程有一点概念
答案 0 :(得分:3)
答案 1 :(得分:1)
这意味着"我宣布我会等待,你完成工作并告诉我你何时完成。"
文件说,
使当前线程等待,直到另一个线程为此对象调用notify()方法或notifyAll()方法。换句话说,此方法的行为就像它只是执行调用wait(0)一样。 当前线程必须拥有此对象的监视器。该线程释放该监视器的所有权并等待,直到另一个线程通过调用notify方法或notifyAll方法通知等待该对象监视器的线程唤醒。然后该线程等待,直到它可以重新获得监视器的所有权并继续执行。