什么是悲观锁和乐观锁?
时间: 2023-12-18 21:25:55 浏览: 59
乐观锁和悲观锁
悲观锁和乐观锁是并发控制中的两种不同的策略。
悲观锁认为在并发情况下,数据很可能会被其他线程修改,因此在对数据进行操作时,需要先加锁,防止其他线程对数据进行修改。悲观锁的实现方式包括数据库中的行锁和表锁、Java中的synchronized关键字等。
乐观锁则认为在并发情况下,数据很少被其他线程修改,因此不需要加锁,而是在更新数据时先读取数据版本号等信息,然后进行比较,如果版本号等信息与当前数据一致,则更新数据,否则认为数据已经被其他线程修改,更新失败。乐观锁的实现方式包括数据库中的CAS操作、Java中的Atomic类等。
阅读全文