多线程二乐观锁、悲观锁

博客介绍了几种常见的锁机制。悲观锁认为操作会造成更新丢失,查询加排它锁;乐观锁认为查询不会造成更新丢失,利用版本字段控制。还提到重入锁,同一线程内外层函数获取锁不受影响,ReetrantLock和synchronized是可重入锁,此外还列举了读写锁、CAS无锁机制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

悲观锁:悲观的认为每一次操作都会造成更新丢失的问题,所以在每次查询都会加上排它锁 * from 

select * from table_A for update;

乐观锁:乐观锁会乐观的认为每次查询都不会造成更新丢失,利用版本字段控制(使用乐观锁需要对应的加上版本控制列)

重入锁:也叫递归锁,指的是同一线程外层函数获得锁之后,内存地怪函数仍然有获取该锁的代码,但不受影响

ReetrantLock和synchronized都是可重入锁。

读写锁:

CAS无锁机制:

自旋锁:

分布式锁:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值