- 博客(1)
- 收藏
- 关注
原创 JAVA并发常见解决方案-分布式锁
悲观锁:假设每次取数据的时候数据都会被更新,所以在取数据的时候会给数据加锁,其他事物可以查询数据但是不能更新,等其他事物提交后才能更新,基于mysql for update关键字实现。乐观锁:假设每次取数据的时候不会被更新,所以在取数据的时候不会加锁,提交的时候再判断是否能更新数据,常见方案在数据中添加版本号字段,更新前先获取版本号,提交修改时判断版本号是否一致。问题:加锁后业务处理完成需要手动释放锁,否则会出现死锁问题,导致系统【业务处理报错也要释放锁】问题:并发情况下会出现大量版本号冲突问题,不推荐。
2024-01-23 15:38:31
442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人