悲观锁和乐观锁是数据库并发控制的两种策略,悲观锁假设会发生冲突,因此在数据被访问之前就加锁,导致其他线程无法访问,乐观锁则认为冲突不会发生,只有在更新数据时才会检查是否存在冲突,如果发生冲突,则回滚并重新执行事务,乐观锁通过版本号或时间戳实现,适用于读多写少的场景。