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

特价网站建设价格合肥建站公司有哪家招聘的

特价网站建设价格,合肥建站公司有哪家招聘的,网站 掌握,施工企业科技创新规划SmoothBursty 主要思想 记录 1秒内的微秒数/permitsPerSencond 时间间隔interval,每一个interval可获得一个令牌 根据允许使用多少秒内的令牌参数#xff0c;计算出maxPermits setRate时初始化下次interval时间#xff0c;及storedPermits acquire时#xff0c;计算当前now…SmoothBursty 主要思想 记录 1秒内的微秒数/permitsPerSencond 时间间隔interval,每一个interval可获得一个令牌 根据允许使用多少秒内的令牌参数计算出maxPermits setRate时初始化下次interval时间及storedPermits acquire时计算当前nowMicros如果大于下次interval时间时间则更新storedPermits和下次interval时间计算storedPermits能否满足此次acquire如果能则需要等待的时间为0如果不能则计算还需要多少微秒等待并在非同步块外执行sleep操作 如果其他线程已经刷新了nextFreeTicketMicros会如下情况acquire是无timeout的 Thread 1: acquire 11 - storedPermits不能满足要求 - waitTime (acquire - stored) * stableIntervalMicros - nextFreeTicketMicros waitMicros ----- out lock sleep Thread 2: acquire 2 - nowMicros nextFreeTicketMicros , stored 0,被线程1消耗完了 - freshPermits requiredPermits - storedPermitsToSpend 即 requiredPermits - waitTime freshPermits * stableIntervalMicros - nextFreeTicketMicros waitTime,此时的nextFreeTicketMicros包含了Thread1需要等待的时间 ------- out lock sleep a longer time tryAquire(num,timeout)逻辑 timeoutMicros timeout.toMicros lock() nowMicros ... canAcquire nextFreeTicketMicros nowMicros timeoutMicros if(!canAcquire){return false; } else{microsToWait ... } unlock() sleep(microsToWait) return true; SmoothWarmingUp 主要思想和SmoothBursty相似由于带预热过程刚开始由于availablePermitsAboveThreshold0.0,速率会较慢如果持续获取令牌则会使availablePermitsAboveThreshold0速率变快 从0-thresholdPermits生成一个令牌的时间stableIntervalMicros从thresholdPermits- maxPermits ,生成一个令牌的时间stableIntervalMicros permits * slope; Override final long reserveEarliestAvailable(int requiredPermits, long nowMicros) { resync(nowMicros); long returnValue nextFreeTicketMicros; //当前需要且尽最大可能消费的 double storedPermitsToSpend min(requiredPermits, this.storedPermits); //新鲜permits个数这些个数是一定会产生等待的除了0 double freshPermits requiredPermits - storedPermitsToSpend; //计算需要wait的总时间 long waitMicros //非busty类型的storedPermitsToWaitTime直接返回0 storedPermitsToWaitTime(this.storedPermits, storedPermitsToSpend) (long) (freshPermits * stableIntervalMicros); //下次有票时间 this.nextFreeTicketMicros LongMath.saturatedAdd(nextFreeTicketMicros, waitMicros); this.storedPermits - storedPermitsToSpend; return returnValue; } //已知permitsToTake storedPermitsOverridelong storedPermitsToWaitTime(double storedPermits, double permitsToTake) {//减去预热需要保留的permits剩下的可消耗的数量double availablePermitsAboveThreshold storedPermits - thresholdPermits;long micros 0;// measuring the integral on the right part of the function (the climbing line)//如果有剩余可用的令牌if (availablePermitsAboveThreshold 0.0) {//剩余可用的和需要获取的个数取小值double permitsAboveThresholdToTake min(availablePermitsAboveThreshold, permitsToTake);// TODO(cpovirk): Figure out a good name for this variable.//用可消耗的数量 可消耗的数量 - 实际消耗的数量permitsToTime//在预热阶段从thresholdPermits到maxPermits的耗时并非是stableIntervalMicros * n//会耗费更多的时间其计算规则不同所以才需要把permitsAboveThresholdToTake从permitsToTake减去//length 可能作为一个经验值相当于补充permitsAboveThresholdToTake个令牌需要的平均时间值*2//剩余可用的-实际需要且最大能消耗的令牌,得到最终剩余的令牌个数可能是0double length permitsToTime(availablePermitsAboveThreshold) permitsToTime(availablePermitsAboveThreshold - permitsAboveThresholdToTake);//这里确实不好理解从语义环境来说它是从 thresholdPermits 到 maxPertmis 过程中//生成 permitsAboveThresholdToTake 个令牌需要耗费的时间//并且带coldFactor的构造函数不是public,SmoothWarmingUp也是private-package的micros (long) (permitsAboveThresholdToTake * length / 2.0);//从permitsToTake中减去保留预热需留下个数后最终消耗的个数这部分个数由于是提前存在的、富余的//因此不需要计算到wait时间permitsToTake - permitsAboveThresholdToTake;}// measuring the integral on the left part of the function (the horizontal line)//如果没有剩余可用令牌走的是stableIntervalMicros * nmicros (stableIntervalMicros * permitsToTake);return micros;} length/2可以理解为下图 //permits值越小需要的时间就越少值越大需要的时间就越大private double permitsToTime(double permits) {//double coldIntervalMicros stableIntervalMicros * coldFactor;// thresholdPermits 0.5 * warmupPeriodMicros / stableIntervalMicros;//maxPermits thresholdPermits 2.0 * warmupPeriodMicros / (stableIntervalMicros coldIntervalMicros);//slope带比率的时间可以理解为增长因子//slope (coldIntervalMicros - stableIntervalMicros) / (maxPermits - thresholdPermits)//return表示成这样更易于理解 stableIntervalMicros (coldIntervalMicros - stableIntervalMicros) * (permits/(maxPermits - thresholdPermits))return stableIntervalMicros permits * slope;} 转载于:https://www.cnblogs.com/windliu/p/11088320.html
http://www.pierceye.com/news/209744/

相关文章:

  • 在线html网站开发广州网站排名优化公司
  • 如何在免费网站上做推扩自己怎么来建设网站
  • 福安市教育局建设网站做架构图简单的网站
  • 如何快速进行网站开发seo是什么东西
  • 网站建设需要具备哪些学编程多少钱学费
  • 建设工程许可证在那个网站办金融行业网站制作
  • 邢台专业做网站价格信息流广告是什么
  • 网站开发的母的目的和意义.建设购物平台网站
  • 立方米网站建设做淘宝客网站用什么程序好
  • 怎样做网站挣钱建筑资料软件
  • 涿州建设局网站苏州市高新区建设局网站
  • 个人soho要怎么做企业网站成都包装设计公司
  • 网站开发 chrome浏览器崩溃ruhe用dw做网站
  • 全屏网站 图片优化个人网站cms系统
  • 做我女朋友程序网站邵东做网站
  • 建设网站如何挂到网上wordpress首页添加幻灯
  • 汕头正规网站建设模板总部城乡建设网站 资料员
  • vs 2017c 怎么建设网站网站建设的数字化和互联网化
  • 南昌网站设计公司海南营销网站建设
  • 购物网站素材个人搭建网站教程
  • 青岛网站建设哪里好模板建站服务公司
  • 青色网站欣赏wordpress中文购物
  • 建站培训全国住房与城乡建设部网站
  • 唐山网站建设方案策划沧州网站建设联系电话
  • 网页制作和网站开发实验报告logo设计品牌
  • 摄影后期教程网站百度指数1000搜索量有多少
  • wp网站建设模板什么是网站的原型
  • 园林绿化网站建设上海著名室内设计公司
  • 大连市住房与城乡建设部网站公司要制作网站
  • 郑州做网站七彩科技企业网站做的漂亮