java多线程synchronized和Lock,Conditon的锁有什么区别?
在1.5以前的版本,给我的感觉是synchronized同步一个方法或者语句,而对象就是锁,用这个对象去调用wait,notify方法给我的感觉是,调用wait,那么当前线程就对外释放锁的所有权,当被notify时,就重新持有该线程的锁所有权,继续执行。
但是到了1.5以后的版本,开始有lock 和unlock,我想问此时的锁又是什么呢?以及通过newCondition方法返回的Condition实例调用signal,await,此时Condition的实例的意义是什么呢?
多谢!