zoukankan      html  css  js  c++  java
  • 事务记账

      /// <summary>
            /// 全局锁
            /// </summary>
            public static Object SyncObject = new object();

    var syncObject = isTrans ? Util.SyncObject : new Object();

                lock (syncObject)
                {

    var transactionOption = new TransactionOptions { IsolationLevel = IsolationLevel.Serializable, Timeout = TimeSpan.FromMilliseconds(10 * 60 * 1000) };
                      int i = 0;
                    string errmessage = "";
                    Exception exception = new Exception();
                    do
                    {
                        errmessage = "";
                        if (i++ > 3)
                            break;
                    using (var scope = isTrans ? new TransactionScope(TransactionScopeOption.Required, transactionOption) : null)
                    {

                         try
                            {
                    
                        #endregion

                        if (isTrans)
                        {
                            scope.Complete();
                        }

    }

        catch (Exception err)
                            {
                                scope.Dispose();
                                errmessage = err.Message;
                                exception = err;
                                //throw new Exception(ex.Message.ToString());
                            }
                        }
                    } while (errmessage.Contains("死锁牺牲品"));
                    if (!string.IsNullOrEmpty(errmessage))
                    {
                        throw (new Exception(errmessage, exception));
                    }

                      }
                    }

  • 相关阅读:
    【BZOJ4892】【TJOI2017】—DNA(后缀数组+ST表)
    【BZOJ1563】【NOI2009】—诗人小G(决策二分栈优化dp)
    【洛谷P5249】【LnOI2019】—加特林轮盘赌(概率dp)
    【Ural1519】— Formula1(轮廓线dp)
    【BZOJ3728】【PA2014】—Final Zarowki(思维题)
    【BZOJ3730】—震波(动态点分治)
    【Hackerrank (70)】—Range Modular Query(莫队+暴力)
    【省选模拟】—Cactus(圆方树+dfs序)
    【BZOJ2125】—最短路(圆方树+树链剖分)
    python 基础 列表
  • 原文地址:https://www.cnblogs.com/sk2016/p/6122605.html
Copyright © 2011-2022 走看看