在网上看到一篇博客,主题是为什么wait()方法要放在同步块中?
博主在解释中说了这样一段话
看来对于多线程我的理解还很弱
我疑惑的是怎么理解作者的这个说法?
是因为这样加锁没有作用所以java要求必须在对象的同步代码块里(为什么没作用)?
还是因为java要求必须在对象的同步代码块里所以这样做没效果?
博主在解释中说了这样一段话
看来对于多线程我的理解还很弱
我疑惑的是怎么理解作者的这个说法?
是因为这样加锁没有作用所以java要求必须在对象的同步代码块里(为什么没作用)?
还是因为java要求必须在对象的同步代码块里所以这样做没效果?
是因为Java的机制,那两段伪代码会出问题
还是说因为在逻辑上那两段伪代码就有漏洞,会出现lost wake up问题,所以Java在设计时wait()才被设计成了现在这种机制?
wait()也不是专门为生产-消费队列设计的啊。