丸子 发表于 2014-8-6 17:08
为什么出错?
萍水相逢 发表于 2014-8-6 18:39
原因是:在对某个对象上调用wait()方法进行线程等待(让其他竞争执行该代码的线程上锁)时,没有对该对 ...
yqj 发表于 2014-8-6 19:26
看看这样也可以(把notify()放在同步代码块中)
原因:对于notify()方法,jdk的说明:解除那些在该对象上 ...
丸子 发表于 2014-8-6 19:00
还是不懂,为什么wait()只能放在synchronized的里面,不能在外面呢?
yqj 发表于 2014-8-6 20:11
哦,刚刚只测了一遍,又多测了几遍真的有错,以前学的时候记得是多线程的时候记得是wait()和notify()方法要 ...
萍水相逢 发表于 2014-8-6 21:21
我的理解是:因为synchronized (this)就是一把锁,如果wait()不放在锁里面,就会造成很多线程都堵塞在这 ...
丸子 发表于 2014-8-7 07:45
哦,貌似理解了,非常感谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |