synchronized原始采用的是CPU悲观锁机制,即线程获得的是独占锁。
synchronized是托管给JVM执行的
Lock用的是乐观锁方式。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。乐观锁实现的机制就是CAS操作(Compare and Swap)比较与替换。
lock是java写的控制锁的代码
synchronized原始采用的是CPU悲观锁机制,即线程获得的是独占锁。
synchronized是托管给JVM执行的
Lock用的是乐观锁方式。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。乐观锁实现的机制就是CAS操作(Compare and Swap)比较与替换。
lock是java写的控制锁的代码