zoukankan      html  css  js  c++  java
  • java陷阱之不可忽视的并发操作

    业务需求.商家针对采购需求发货生成供货单

    代码逻辑:

               1.开启事物

               2.根据采购需求查询所属供货单已发货数量

               3.根据采购需求采购数量>已发货才允许供货单

               4.满足2条件插入发货指定发货数量的供货单

               5.commit事物

    错误思维 商家一个一个进行发货。不存在并发。就不考虑原子性。

    出现问题:

               1.数据库因为高峰期 峰值上去 商家发货 1、3、4因为数据库高峰期sql阻塞。

               2.前端没有做重复提交。或者因为超时异常取消重复提交按钮。

               3.商家再次进行发货。导致重复发货

    解决方式:

                1.不应该基于人的觉得来考虑并发

                2.虽然有的是单个人操作。但是保证原子性的地方都需要加锁

  • 相关阅读:
    关于web测试收集
    Webdriver初探
    Java学习笔记 11/15:一个简单的JAVA例子
    持续集成环境搭建总结
    启动速度
    excel中用到的函数
    jmerter使用
    接口测试
    内存泄漏场景
    手机连接电脑那些事
  • 原文地址:https://www.cnblogs.com/LQBlog/p/15666087.html
Copyright © 2011-2022 走看看