乐观锁和悲观锁并不是指具体的锁,而是说的是一种理念型的锁,说的实际一点就是角度问题。
乐观锁:它认为对一个数据的并发操作,是不会发生修改的,简单来说,就是只读不写,当然这是一种理想情况,更多的时候是读大于写。在Java中比较重要的就是无锁编程的理念,特别是CAS算法,也就是C.U.T的核心理念。无锁的情况下,性能会得到很多提升。
悲观锁:它认为对一个数据的并发修改是一定会发生修改的。也就是写大于读的场景下,此时需要加锁。类似synchronize就是悲观锁的一种表现。
乐观锁和悲观锁并不是指具体的锁,而是说的是一种理念型的锁,说的实际一点就是角度问题。
乐观锁:它认为对一个数据的并发操作,是不会发生修改的,简单来说,就是只读不写,当然这是一种理想情况,更多的时候是读大于写。在Java中比较重要的就是无锁编程的理念,特别是CAS算法,也就是C.U.T的核心理念。无锁的情况下,性能会得到很多提升。
悲观锁:它认为对一个数据的并发修改是一定会发生修改的。也就是写大于读的场景下,此时需要加锁。类似synchronize就是悲观锁的一种表现。