当前位置: 代码迷 >> Java相关 >> synchronized 与 wait 的有关问题
  详细解决方案

synchronized 与 wait 的有关问题

热度:675   发布时间:2016-04-22 20:26:05.0
synchronized 与 wait 的问题
  现在有两个线程,一个线程A正在执行 synchronized(...){ .....  }  中的代码,而另一个线程B通过调用 wait()  让线程A等待,请问A是执行完synchronized中的代码再wait,还是直接就wait
------解决思路----------------------
A要先wait在往后走,才能体现“等B线程跑完了再跑A的任务”

另外请注意:wait是Object中的方法,需要配合notify方法使用。

------解决思路----------------------
* Causes the current thread to wait until another thread invokes the
* {@link java.lang.Object#notify()} method or the
* {@link java.lang.Object#notifyAll()} method for this object.
* In other words, this method behaves exactly as if it simply
* performs the call {@code wait(0)}.
这是JDK关于wait()方法的说明,意思应该是wait方法只能让当前执行它的线程等待。
另一个线程B通过调用 wait()  让线程A等待楼主这句话是什么意思啊?
  相关解决方案