【廣告】
條件二
參考計數(shù)器算法條件二實現(xiàn)。
算法升級
可以看到實現(xiàn)漏桶算法的話需要每隔interval時間都要另外一條線程去遍歷所key的value去做遞減操作,那么有沒有什么辦法可以省略這一步呢。是肯定有。
12345678910111213 if(存在key){ value--; if((nowTime-lastUpdateTime)>interval){ value=value-(nowTime-lastUpdateTime)/interval*step; lastUpdateTime=nowTime; } if(value<=0){ 不能訪問 } }else{ 添加key,設(shè)置value為limit; lastUpdateTime=nowTime; }
令牌桶算法核心思想
令牌桶算法呢,恰恰是和漏桶算法相反的一個算法,培訓(xùn),不過還是推薦你使用這個。這個算法的原理我不講,我覺得聰明的你看了偽代碼就明白了。
涉及變量
接口(key)
時間單位(expire)
允許訪問多少次(limit)
遞增間隔時間(interval)
遞增步長(step)
當前可訪問次數(shù)(value)
key的訪問時間(lastUpdateTime)
當前時間(nowTime)(參照漏桶算法需要注意的點)
條件一線程一:
12345678 if(存在key){ value ; if(value>=limit){ 不能訪問 } }else{ 添加key,設(shè)置value為limit }
線程二:
123 while(過去interval時間){ 所有key的value step }
第三階段:高尖技術(shù)接口、性能、自動化、整機&APP測試
課程簡介:本課程在前兩個階段之上,在具備軟件測試基本的綜合技術(shù)能力后,為了提高學(xué)員技術(shù)競爭力,在對照的企業(yè)近期技術(shù)需求設(shè)立高等階段課程如:接口測出基于、Jmeter/SoapUI,性能測試基于Loadruer 、Jmeter測試工具實戰(zhàn)項目應(yīng)用,自動化測試Python Selenium Robot framework等較近前沿課程。同時對于部分企業(yè)需求的整機測試和APP測試技術(shù),軟件行業(yè)發(fā)展怎么樣,也同步囊括在高等階段課程中。
企業(yè): 南京正厚軟件技術(shù)有限公司
手機: 13357804560
電話: 025-86665061
地址: 南京鼓樓區(qū)湖南路16號5樓