一段代码中,有wait()和notify()成对,如果两者互换,那么我觉得是等效的,是不是? 因为wait()不是叫别人等,而是自己等。notify()也是自己停下来,去通知别人。我觉得是一样的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然不一样,notifyAll()是结束所有线程的wait(),自己不停下来啊比如生产者和消费者的例子,如果仓库满了,那么生产者就wait()了,按照你说的先notify消费者,那么就有可能出现,消费者还没有来的及消费,又开始执行生产者线程,此时的生产者线程的wait()状态已经被唤醒,所以继续生产,就造成仓库满了还继续生产的情况 notify是结束其它线程吗?我可以说这个说法是肯定错的。 wait()是释放当前的锁 让其他线程有机会去执行notify是唤醒所有在wait()中的锁 不是让自己停下来基础原理要搞明白 http://www.javaeye.com/topic/339772这儿有一些解释,我建议LZ学过线程这后再来考虑这个问题 看一下 被rmi搞晕了,这个方法可以用不 从静态方法中引用非静态变量,小不解 (最新)几道笔试题,这几天才笔试的? 关于abstract的问题 byte数组问题,请各位帮帮忙(2) sort函数如何实现降序排列? Java初学的问题 请问谁看过《java i/o》这本书?国内书店有卖吗? win7虚拟机上部署java程序 工程中包中的类的调用问题,奇怪的现象! File类建立文件的问题
比如生产者和消费者的例子,如果仓库满了,那么生产者就wait()了,按照你说的
先notify消费者,那么就有可能出现,消费者还没有来的及消费,又开始执行生产者线程,此时的生产者线程的wait()状态已经被唤醒,所以继续生产,就造成仓库满了还继续生产的情况
notify是唤醒所有在wait()中的锁 不是让自己停下来
基础原理要搞明白
这儿有一些解释,我建议LZ学过线程这后再来考虑这个问题