+-

第一小段代码,queue是个BlockingQueue阻塞队列
synchronized (waitLock){ KaiFaBan takeValue=queue.take();//阻塞 }
关于这段代码,想问下,take()一直处于阻塞状态的话,会不会释放锁对象waitLock???
第二小段代码;
while (exec.isTerminated()){ synchronized (waitLock){ System.out.println("开始处理IO等其他耗时工作"); //线程开启长耗时工作 caozuo(s); break; //break之后的代码 } }
关于这段代码,想问下break之后,会不会释放锁对象waitLock???谢谢
不会,因为还在同步块里面 会,因为会离开同步快synchronized内调用wait()会释放锁,否则不会