zoukankan      html  css  js  c++  java
  • JAVA Synchronized和Lock实现原理

    一、Synchronized实现
    try {
                if (!MsOnionRegexUtils.checkDigit(idxStr)) {
                    return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_PARAMETER_ILLEGAL + ", idxStr=" + idxStr);
                }
                if (!MsOnionRegexUtils.isNumeric(statusStr)) {
                    return MsOnionResult.build(MsOnionStatusConstants.STATUS_400,
                            MessageConstants.MESSAGE_PARAMETER_ILLEGAL + ", statusStr=" + statusStr);
                }
                idx = Long.parseLong(idxStr);
                status = Short.parseShort(statusStr);
    
                // 查询仓库是否关联商品,不能删除
                CollectorItemExample example = new CollectorItemExample();
                CollectorItemExample.Criteria criteria = example.createCriteria();
                criteria.andWarehouseTypeIdxEqualTo(idx);
                List<CollectorItem> list = itemService.queryByExample(msOnionApiVersion, example);
                if (MsOnionCollectionUtils.isNotEmpty(list)) {
                    return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, "仓库已关联商品,不能删除");
                }
                int result = warehouseTypeService.updateStatus(msOnionApiVersion, idx, status);
                if (result > 0) {
                    return MsOnionResult.ok();
                }
                return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_SERVER_ERROR);
    
            } catch (MsOnionIllegalArgumentException e) {
                return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_PARAMETER_ILLEGAL);
            } catch (MsOnionException e) {
                return MsOnionResult.build(MsOnionStatusConstants.STATUS_500, MessageConstants.MESSAGE_SERVER_ERROR);
            }




  • 相关阅读:
    C/S 随思录
    3dTiles 最后一块拼图:几何误差与屏幕空间误差
    aps.net cannot connect to runtime process
    asp.net web api swagger使用总结
    asp.net webaip 跨域
    LightGBM算法实践
    Zabbix 机器 CPU 飙高 和 时区相差8个小时
    【vue踩坑记录】3、“Error in render: "TypeError: Cannot read property '0' of undefined"”渲染错误问题
    1-关于补码的理解
    vscode快捷键
  • 原文地址:https://www.cnblogs.com/apescode/p/9111976.html
Copyright © 2011-2022 走看看