你一定要给我记住啊,下面的是wait的用法,记住,下面的是wait的用法
synchronized(theObjBeLocked){
while(now, we have no conditions to run, so 等吧,nnd总有一天,我们会东山再起的){
theObjBeLocked.wait();
}
Ok, now we come here, 我们东山再起啦all it meets all conditions, all wait has pasted,
^_^, do it
}
注意:这里我们需要注意的是,wait是在synchronized中的,而且,我们真正的进行的,满足条件后进行的,也都是在 synchronized中的。
也就是说,wait, 以及真正的得到条件后的执行,都是在synchronized中的
还有一点是需要注意的,wait, notify, notifyAll都是在 theObjBeLocked上被调用的。
都是在theObjBeLocked上被调用的
都是在theObjBeLocked上被调用的
非常非常非常非常的重要,我们在条件不满足的时候,我就调用了wait,这时,在这里就完成了,下面的就是在这个wait完成之后要执行的,。
当然当然当然,所有的这些,都是在synchronized内部进行的。
今天晚上,死也得记住这点:就是说,下面说的这些东西都是在synchronized内部进行的
1、条件还不满足,so,我们在while内部wait
2、我们认为,我们的条件满足啦。
而且,我们被告知,我们从新获得锁啦,而且我们没必。