java锁

本文深入探讨了并发控制中的各种锁机制,包括重入锁、读写锁、悲观锁、乐观锁、CAS无锁、自旋锁及AQS等。解析了CAS算法的工作原理及其与乐观锁的相似性,并通过SQL示例展示了乐观锁的应用。

重入锁、读写锁、悲观锁和乐观锁、CAS无锁、自旋锁、AQS

轻量级(Lock手动开启与释放,比较灵活)与重量级(synchronized自动开启与释放) 可重入性(递归锁)

CAS算法的过程是这样:它包含三个参数CAS(V,E,N): V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS返回当前V的真实值。

乐观锁:

update table set x=x+1, version=version+1 where id=#{id} and version=#{version};

CAS锁与乐观锁性质一样,及比较在交换或比较在更新

 

 

 

转载于:https://my.oschina.net/u/3142419/blog/2209559

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值