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);
            }




  • 相关阅读:
    ZeptoLab Code Rush 2015
    UVa 10048 Audiophobia【Floyd】
    POJ 1847 Tram【Floyd】
    UVa 247 Calling Circles【传递闭包】
    UVa 1395 Slim Span【最小生成树】
    HDU 4006 The kth great number【优先队列】
    UVa 674 Coin Change【记忆化搜索】
    UVa 10285 Longest Run on a Snowboard【记忆化搜索】
    【NOIP2016提高A组模拟9.28】求导
    【NOIP2012模拟10.9】电费结算
  • 原文地址:https://www.cnblogs.com/apescode/p/9111976.html
Copyright © 2011-2022 走看看