悲观锁

pessimistic_locking2026-10-16 18:04:00

悲观锁通过在执行关键操作前取得排他或共享访问权,约束其他并发操作对相同资源的访问。

数据库中的使用

典型流程是在事务中 SELECT ... FOR UPDATE,读取后按规则修改,再提交或回滚。锁持有范围和兼容关系取决于数据库、语句及访问路径。

选择与限制

它适合需要明确串行化某段记录操作的场景,但会带来等待和死锁风险。应缩短持锁区间,避免等待用户输入或外部服务,且所有竞争路径必须遵守同一数据保护规则。

进程内互斥锁通常只能协调该进程;多实例场景若共享数据库,不能依靠各实例独立的内存锁保证全局互斥。

参考资料

本页目录