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