正如我的理解,如果我那麼線程:什麼等待()其實是指Java?我會等待還是等待?
當我打電話
notify()
/notifyAll()
這意味着意味着我將信號發送到另一個線程其 等待在該對象的監視器上。我對嗎?但是
wait()
的含義是什麼?我是否發信號給其他線程等待,以便我可以完成我的工作?
或
我聲明我會等待,你做你的工作,並告訴我你什麼時候完成。
我對線程一點概念
正如我的理解,如果我那麼線程:什麼等待()其實是指Java?我會等待還是等待?
當我打電話notify()
/notifyAll()
這意味着意味着我將信號發送到另一個線程其 等待在該對象的監視器上。我對嗎?
但是wait()
的含義是什麼?
我是否發信號給其他線程等待,以便我可以完成我的工作?
或
我聲明我會等待,你做你的工作,並告訴我你什麼時候完成。
我對線程一點概念
這意味着「我宣佈我會等待,你做你的工作,並告訴我你什麼時候完成。」
文件說,
造成當前線程等待,直到其他線程調用notify()方法或此對象的notifyAll的()方法。換句話說,這個方法的行爲就好像它只是執行呼叫等待(0)一樣。 當前線程必須擁有該對象的監視器。線程釋放此監視器的所有權,並等待另一個線程通知對通知方法或notifyAll方法的調用,以便通知通過此對象監視器等待的線程喚醒。該線程然後等待,直到它可以重新獲得監視器的所有權並恢復執行。
'wait()'不_declare_什麼。它只是等待。 – 2014-09-25 12:46:11
你等着,有人通知你的東西... – MadProgrammer 2014-09-25 06:06:50
花些時間[課:併發]閱讀(http://docs.oracle.com/javase/tutorial/essential/併發/),不要無所顧忌地嘗試一些測試... – MadProgrammer 2014-09-25 06:08:00
後者。但是這可以在關於這個主題的任何文檔中閱讀,包括[關於'wait()']的API文檔(http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html #等 - )本身。 – Seelenvirtuose 2014-09-25 06:09:15