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

网站广告连接如何做做网站的图片分类

网站广告连接如何做,做网站的图片分类,海沧做网站,中英网站开发系统分布式锁的用法公司框架新增功能分布式锁#xff1a;锁的性能之王#xff1a;缓存 Zookeeper 数据库锁的实现实现原理#xff1a;核心采用StackExchange.Redis的LockTake方法实现。支持同步获取锁#xff0c;或者等待直到超时获取锁。/// summary///… 系统分布式锁的用法公司框架新增功能分布式锁锁的性能之王缓存 Zookeeper 数据库锁的实现实现原理核心采用StackExchange.Redis的LockTake方法实现。支持同步获取锁或者等待直到超时获取锁。/// summary/// 分布式锁提供全局分布式锁支持以resource redis为基础/// 这个锁只能通过RpcContext来获取通过自己手动释放/// /summarypublic sealed class DistributedLock{private static readonly TimeSpan DefaultAbandonmentCheckFrequency TimeSpan.FromSeconds(2);public readonly string lockName;private readonly string lockValue;private readonly int checkTimeSpan 50; //msprivate readonly int autoDelete;private DistributedLock(){}/// summary/// /// /summary/// param namelockName/param/// param nameautoDelete自动删除ms,默认 60s/param/// param namecheckTimeSpan如果不能获取锁重复检查间隔:默认 50ms/paraminternal DistributedLock(string lockName, int autoDelete 60000,int checkTimeSpan 50){// note that just Global\ is not a valid nameif (string.IsNullOrEmpty(lockName))throw new ArgumentNullException(lockName不能为空);if (null ResourceCache.Instance)throw new Exception(ResourceCache 没有配置或无法连接);this.checkTimeSpan Math.Max(checkTimeSpan,1);this.autoDelete Math.Max(autoDelete,1);this.lockName lockName;this.lockValue lockName;}/// summary/// 获取锁/// /summary/// param nametimeout超时为null则尝试一次即返回/param/// returns获取锁成功?/returnsinternal bool Acquire(TimeSpan? timeout null){bool bLock false;var dtStart DateTime.Now.Ticks;while (!bLock){bLock TryAcquireOnce();if (timeout null){break;}if (!bLock){Thread.Sleep(this.checkTimeSpan);}var ts new TimeSpan(DateTime.Now.Ticks - dtStart);if (ts timeout){break;}}return bLock;}//此处采用框架上下文管理分布式事务锁的释放代码略。//public void Dispose()//{// LockManager.ReleaseLock(this);//}internal void Release(){try{var bRtn ResourceCache.Instance.LockRelease(this.lockName, this.lockValue);Trace.WriteLine($释放锁 {this.lockName}:{bRtn});}catch (Exception e){LogTextWriter.Write($释放锁失败系统自动超时释放:{this.lockName});}}/// summary/// 释放锁/// /summarypublic void ReleaseLock(){LockManager.ReleaseLock(this);}private bool TryAcquireOnce(){try{Trace.WriteLine(${Thread.CurrentThread.ManagedThreadId}:TryAcquireOnce);var lock ResourceCache.Instance.LockTake(this.lockName, this.lockValue, new TimeSpan(0, 0, 0, 0, this.autoDelete));return lock;}catch (Exception e){return false;}}} 锁的使用在当前上下文中获取一个分布式锁第一个获取锁的将执行依赖当前key一般为业务主键的完整业务流程包括多个微服务之间的调用和数据库的访问;后来者将无法获取锁根据返回的结果来判断是否进入流程如果返回的锁为null将不能执行下面的流程要么重试等待锁释放要么返回错误.锁的调用一般流程 var qtLockTryGetLock(lockKey);if(qtLocknull) { //提示不能同时执行操作return}else {//进行业务流程}//最后别忘了qtLock.ReleaseLock(); API 内的范例 code StatusCode.OK;//传入超时时间可以一直等待到超时过期var lockSaveReceipt this.Context.TryGetLock(${nameof(SaveReceipt)}.{valueArgs.ReceiptArgs.ReceiptId});if (lockSaveReceipt null){code PublicErrorCode.SaveReceiptByUsed.ToCode();return null;}try{//todo 业务操作1//todo 业务操作2//...}finally{lockSaveReceipt.ReleaseLock();}
http://www.zqtcl.cn/news/504085/

相关文章:

  • h5做网站用什么框架seo推广计划
  • 亿企搜网站建设百度网盘怎么领取免费空间
  • 天津网站排名提升如何用h5做网站
  • 外贸公司有必要建设网站吗赣州做网站哪家好
  • 功能型网站设计深圳网站优化效果
  • 郑州定制网站开发规模以上工业企业总产值
  • 锡林浩特市长安网站 建设初步方案廊坊百度推广排名优化
  • 搭建论坛网站的流程企业网络推广软件
  • 中国化工建设网站家居装修设计
  • 铜陵公司做网站大淘客网站建设app
  • 网站面包屑导航织梦做网站的教程
  • 建湖网站建设价格小程序商城哪个平台好
  • 网站域名 被别人备案买房的人都哭了吧
  • 自己做网站 套模板工具磨床东莞网站建设
  • 怎么上传图片到公司网站在深圳注册公司需要什么资料
  • 网站建设的公司哪家好用一段话来解释网站建设
  • 没有文字的网站怎么优化wordpress自定义文章类型模板
  • 东营网站设计制作网站建设匠人匠心科技
  • 海外如何淘宝网站建设2022新闻大事件摘抄
  • 仿win8 网站淘宝客网站开发视频教程
  • 宣威做网站建设的公司哈尔滨网站建设公司名字
  • 学网页设计在哪学关键词优化公司前十排名
  • 菏泽定制网站建设推广无固定ip 建设网站
  • wordpress网站制作教程视频百度云域名购买
  • 软件最全网站株洲网站排名优化价格
  • 购物便宜的网站有哪些家居企业网站建设讯息
  • 美橙网站产品详情深圳做网站的公司哪个好
  • 江苏省建设注册中心网站平面设计要素
  • 厦门网站建设_策划公司
  • 惠州建网站服务网站建设价格是哪些方面决定的