我在项目中找到了打击代码。但是我不明白为什么唯一的notify()方法是在synced block中。
synchronized(this){
notify();
}
这段代码是否合乎逻辑,如果是的话,真正的目的是什么?
notify()唤醒同一对象上调用wait()的第一个线程。
class ThreadB extends Thread{
int total;
@Override
public void run(){
synchronized(this){
for(int i=0; i<100 ; i++){
total += i;
}
notify();
}
}
像上面的例子一样,我们使用notify向其他正在等待的线程发送信息消息(嘿,我完成我的工作,醒了!)。所以在您的问题上,这没有意义
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句