本帖最后由 tanshion 于 2014-6-13 11:25 编辑
如果一个可被多个线程访问的资源类的某一个synchronized方法里有wait(),当这个wait()被调用时,是让当前进入到synchronized方法的这个线程进入wait,还是这个资源类进入wait?如果是线程进入wait,那为什么不是在线程类上调用wait()而是在资源类里调用(这里的wait()实际上应该是this.wait())?
如果资源类里是这样的
public synchronized void f(){
while(condition){
wait();
}
System.out.println("f() return;")
}
那是不是运行到这个循环的时候,进入wait、等待notify并释放锁,但是这个方法并没有返回(控制台没输出)? |
|