当前位置: 首页 > news >正文

网站着陆页怎么做纸箱 技术支持 东莞网站建设

网站着陆页怎么做,纸箱 技术支持 东莞网站建设,恒一信息深圳网站建设公司2,南宁建站公司模板乐观锁是一种并发控制机制#xff0c;用于处理多个事务或线程对同一数据进行并发修改的问题。它假设多个事务或线程在操作数据时不会互相干扰#xff0c;因此不在数据上加锁#xff0c;而是在提交数据时检查数据是否被其他事务修改过。如果数据在提交前已经被其他事务修改用于处理多个事务或线程对同一数据进行并发修改的问题。它假设多个事务或线程在操作数据时不会互相干扰因此不在数据上加锁而是在提交数据时检查数据是否被其他事务修改过。如果数据在提交前已经被其他事务修改则当前事务需要重新读取数据并尝试再次提交。乐观锁的核心思想是“乐观地”认为数据冲突的概率很低因此主要在提交阶段进行冲突检测。 乐观锁的实现方式 乐观锁的常见实现方式是使用版本号或时间戳 版本号Version Number 在数据表中增加一个版本号字段每当数据被修改时版本号加1。事务在读取数据时会同时读取版本号。在更新数据时事务会检查当前数据的版本号是否与读取时的版本号一致。如果一致则进行更新并将版本号加1如果不一致则说明数据已经被其他事务修改当前事务需要重新读取数据再进行处理。 时间戳Timestamp 在数据表中增加一个时间戳字段记录数据的最后修改时间。事务在读取数据时会同时读取时间戳。在更新数据时事务会检查当前数据的时间戳是否与读取时的时间戳一致。如果一致则进行更新并更新时间戳如果不一致则说明数据已经被其他事务修改当前事务需要重新读取数据再进行处理。 示例代码 以下是一个使用版本号实现乐观锁的示例 数据表设计 CREATE TABLE user (id BIGINT PRIMARY KEY,name VARCHAR(50),balance DECIMAL(10, 2),version INT );实体类 public class User {private Long id;private String name;private BigDecimal balance;private Integer version;// Getters and Setters }Mapper 接口 public interface UserMapper extends BaseMapperUser {Update(UPDATE user SET balance #{balance}, version version 1 WHERE id #{id} AND version #{version})int updateUser(User user); }服务实现类 Service public class UserServiceImpl extends ServiceImplUserMapper, User implements UserService {TransactionalOverridepublic void deductBalance(Long id, BigDecimal money) {// 1.查询用户User user getById(id);if (user null) {throw new RuntimeException(用户不存在);}// 2.校验用户状态和余额if (user.getBalance().compareTo(money) 0) {throw new RuntimeException(用户余额不足);}// 3.扣减余额user.setBalance(user.getBalance().subtract(money));// 4.尝试更新用户信息int updateCount baseMapper.updateUser(user);if (updateCount 0) {// 如果更新失败说明版本号不一致需要重新读取数据并重试throw new RuntimeException(更新失败请重试);}} }适用场景和优缺点 适用场景 适用于读多写少的应用场景例如电商系统中的商品库存管理。适用于不希望在数据上加锁减少锁开销提高并发性能的场景。 优点 无需加锁减少了锁开销提高了系统并发性能。避免了死锁的发生。 缺点 在写操作频繁的场景下重试的代价较高可能影响性能。实现复杂度较高需要在应用程序中额外处理冲突重试逻辑。 总结 乐观锁是一种有效的并发控制机制通过版本号或时间戳实现冲突检测适用于读多写少的场景能提高系统的并发性能。在实际应用中需要根据具体业务场景选择合适的并发控制策略。
http://www.hkea.cn/news/14435467/

相关文章:

  • seo网站文章编辑软件深圳网站的优化公司
  • 网站建设项目来源外国有没有中国代做数学作业的网站
  • 怎样做理财投资网站外贸企业官网建站
  • 做网站备案时审批号企业邮箱什么格式
  • 网站怎么做登录界面车辆保险网站
  • google广告投放白帽优化关键词排名seo
  • 怎么下载网站备案号网络规划毕业设计
  • 益阳网站制作公司如何创建一个自己的网页
  • 域名换了网站需要备案么企业管理系统项目源码
  • 网站建设办什么手续工业设计作品
  • 网站开发进度表福安seo
  • 英文网站报价如何建学校网站
  • 做网站标准步骤工商注册号是什么
  • h5网站显示的图标怎么做中企建设网站
  • 浙江省工程建设质量管理协会 网站职场seo是什么意思
  • 哈尔滨网站建设代理商比wordpress好
  • 于都建设银行网站招聘网站打广告
  • 中金超钒 网站建设企业做网站步骤
  • 汉鼎网站建设时尚工作室网站源码
  • 企业形象网站解决方案扬州北京网站建设
  • 网站建设技术手段网站建设进无形资产的规定
  • 制作网站的appwordpress wap跳转
  • 做网站主页上主要放哪些内容手机wordpress怎么安装
  • 做网站 源码宁晋网站开发
  • 无锡网站制作启电脑上自己做科目一的网站
  • 查企业去哪个网站企业网站无锡
  • 黄冈工程建设标准造价信息网优化网站排名方法教程
  • 网站开发建设书籍推荐怎么删掉安装的wordpress
  • 海口专业网站搭建厂网站开发及代运营
  • 怎样做科普视频网站邢台做移动网站