1.lock的使用
上锁用lock()方法,解锁用unlock()方法。
2.lock与synchronized的区别
lock
获取锁与释放锁的过程,都需要手动的控制
lock用的是乐观锁方式,所谓的乐观锁就是,每次不加锁而是假设没有冲突去完成某项操作,如果因为冲突失败就重试,直到成功为止。乐观锁的实现机制就是CAS操作。
synchronized托管给jvm执行
原始采用的是CPU悲观锁机制,即线程获得独占锁,独占锁意味着其他线程只能依靠阻塞来等待线程释放锁。
3.实现了lock接口的锁
各个方法的简介