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

青岛网站建设康之迅中国建设银行信用卡黑名单网站

青岛网站建设康之迅,中国建设银行信用卡黑名单网站,认证网站所有权要添加代码,wordpress html5视频我们知道通过lock一个固定静态object给代码段加同步锁#xff0c;可以让多个线程的同时调用以同步执行#xff0c;因此可以利用字典来给不同参数分配不同的静态对象#xff0c;方法中不同的参数调用锁住各自不同的静态对象即可实现不同参数不加锁#xff0c;相同参数才加锁… 我们知道通过lock一个固定静态object给代码段加同步锁可以让多个线程的同时调用以同步执行因此可以利用字典来给不同参数分配不同的静态对象方法中不同的参数调用锁住各自不同的静态对象即可实现不同参数不加锁相同参数才加锁的需求而多线程更新操作的字典需要用到线程安全的ConcurrentDictionary防止争用因此这里的静态加锁对象字典类型为ConcurrentDictionarystring, object。 比如场景在数据库某表没有唯一约束的情况下有可能前端请求和程序定时服务同时执行写入操作这时写入操作在不同的线程中执行虽然写入之前作了判断记录是否已存在的操作但可能两个线程同时执行都判断了记录不存在因此都执行了写入操作就造成了记录重复的可能。 写一个调用管理类“MultiInvokeManager”通过该类来控制这种相同参数同时调用的可能性 /// summary /// 多线程调用方法控制类 /// /summary public static class MultiInvokeManager {//参数调用匹配加锁对象字典private static readonly ConcurrentDictionarystring, object _lockMap new ConcurrentDictionarystring, object(); /// summary/// 根据调用参数比如方法参数中唯一的订单号对应的“key”排除相同参数的“action”操作同时被执行/// /summary/// param namekey相同参数匹配相同的key(比如唯一的订单号)以便相同参数不可同时调用/param/// param nameaction通过key是否相同决定是否需要限制同步执行的操作/parampublic static void SyncInvokeForSameArgs(string key, Action action){object obj _lockMap.GetOrAdd(key, new object());lock (obj){action();}}/// summary/// 控制的操作执行后在适当的时机调用该方法释放字典中的对象以便垃圾回收防止累积占用内存/// /summary/// param namekey/parampublic static void ReleaseLockObject(string key){_lockMap.TryRemove(key, out _);} } 1. 程序定时服务中调用 MultiInvokeManager.SyncInvokeForSameArgs(tradeNo, () UpdateUserMemberStatus(userId, tradeNo, transactionId, payAmount).Wait() ); MultiInvokeManager.ReleaseLockObject(tradeNo); 2. 前端请求方法中调用 MultiInvokeManager.SyncInvokeForSameArgs(tradeNo, () UpdateMemberStatus(tradeNo, transactionId, payAmount).Wait() ); MultiInvokeManager.ReleaseLockObject(tradeNo); 以上两处调用中“UpdateUserMemberStatus”和“UpdateMemberStatus”方法执行的都是判断“tradeNo”在原来某历史表中是否已经存在不存在则Insert历史表并Update关联主表的相同操作因此利用上面管理类“MultiInvokeManager”来控制防止相同参数的写入可能同时发生的可能同时保持不同参数的写入依旧可以在不同线程中同时进行
http://www.hkea.cn/news/14372382/

相关文章:

  • 江阴网站建设多少钱论述网站建设的主要内容
  • 企业建设营销网站的目的商城小程序多少钱
  • 阿里云服务器上如何做网站沈阳哪家网站做的好
  • 虹口高端网站建设苏州高端网站建设企业
  • 网站方案模板seo搜索引擎优化到底是什么
  • 凡科做的网站可以在百度搜到吗网站中的文章可以做排名吗
  • 企业门户网站的安全性石家庄企业建站
  • 自己建设网站平台步骤推广软文范文
  • 石家庄做外贸的网站建设简历制作免费模板网站
  • 深圳中小企业网站制作wordpress健身预定主题
  • 怎么看一个网站是不是外包做的基于 wordpress
  • 同服务器网站查询工具常州市城市建设局网站
  • 网站开发与制作工资分类信息发布 wordpress
  • 安徽省校园网站建设icp ip 网站备案查询
  • 黑龙江做网站的公司哪个网站可以做编程题
  • 门户手机网站模板写作网站可以签约未成年吗
  • 手机网站推荐一个互联网设计公司网站
  • 网站关键词做多了是不是影响权重重庆食品公司
  • 枣庄建设局网站上海装修公司排名前30
  • 网站开发安全有哪些做特卖的网站有哪些
  • 兰山网站建设2017网站建设前景
  • 电影网站建设视频教程购物网站建设规划书
  • 怎么上传网站模板电子商务seo优化
  • 建站企业网站惠阳惠州网站建设
  • 做网站排在前十名要多少钱推广产品的渠道有哪些
  • 网站和数字界面设计师wordpress模板位置
  • dede网站mip成都微信小程序分类信息开发
  • asp.net网站制作实例开发新客户的十大渠道
  • 网站地图对seo的影响小程序制作链接
  • wordpress全站开启ssl成都建设网站价格