java之CAS

java的synchronized是一种悲观锁,也就是说,一个线程占用某个资源,直到该线程释放资源。
java的CAS机制采用“无锁”机制,是一种乐观锁,他不采用锁策略,而是用一个值来判断当前资源是否被占用,内部采用自旋校验。
数据库中的行锁,select * from t_b where id = ? for update,其他线程不能对该行进行更新,删除,这种机制如果在高并发场景下,会严重影响效率。完全可以在数据库表中增加一个version字段,每次读取之后让该值加1,然后再写回,这时,只有当写回的version数据库中的version大的时候才更新。
详情参考:
https://blog.csdn.net/liubenlong007/article/details/53761730

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值