因为wait()不是叫别人等,而是自己等。
notify()也是自己停下来,去通知别人。
我觉得是一样的。

解决方案 »

  1.   

    当然不一样,notifyAll()是结束所有线程的wait(),自己不停下来啊
    比如生产者和消费者的例子,如果仓库满了,那么生产者就wait()了,按照你说的
    先notify消费者,那么就有可能出现,消费者还没有来的及消费,又开始执行生产者线程,此时的生产者线程的wait()状态已经被唤醒,所以继续生产,就造成仓库满了还继续生产的情况
      

  2.   

    notify是结束其它线程吗?我可以说这个说法是肯定错的。
      

  3.   

    wait()是释放当前的锁 让其他线程有机会去执行
    notify是唤醒所有在wait()中的锁  不是让自己停下来
    基础原理要搞明白
      

  4.   

    http://www.javaeye.com/topic/339772
    这儿有一些解释,我建议LZ学过线程这后再来考虑这个问题