悲观锁在读多写少的情况下也有冲突少的特点,为什么不适合呢?
尽管悲观锁在读多写少的情况下可能会有较少的冲突,但它的主要问题在于加锁这个动作上:
- 悲观锁在读取数据时通常会对共享资源进行加锁,这会导致其他线程无法同时进行读操作。即使读操作之间并没有冲突,也会由于加锁操作而导致不必要的阻塞。
- 悲观锁在进行加锁和解锁操作时会引入额外的开销,尤其是在并发量较大的情况下,频繁的加锁和解锁操作会降低系统的性能。
尽管悲观锁在一些情况下也能够处理并发问题,但在读多写少的情况下,乐观锁更适合,因为它更符合读多写少的特点,可以更好地实现读操作的并发执行,提高系统的性能。