時間輪介紹(極客時間 rpc實(shí)戰(zhàn)核心原理)

1礁遣、什么是時鐘輪斑芜?
這個問題也不難解決,我們只要找到一種方式祟霍,減少額外的掃描操作就行了杏头。比如我的一批定時任務(wù)是 5 秒之后執(zhí)行盈包,我在 4.9 秒之后才開始掃描這批定時任務(wù),這樣就大大地節(jié)省了 CPU大州。這時我們就可以利用時鐘輪的機(jī)制了续语。我們先來看下我們生活中用到的時鐘。


image.png

很熟悉了吧厦画,時鐘有時針疮茄、分針和秒針,秒針跳動一周之后根暑,也就是跳動 60 個刻度之后力试,分針跳動 1 次,分針跳動 60 個刻度排嫌,時針走動一步畸裳。而時鐘輪的實(shí)現(xiàn)原理就是參考了生活中的時鐘跳動的原理


image.png

在時鐘輪機(jī)制中,有時間槽和時鐘輪的概念淳地,時間槽就相當(dāng)于時鐘的刻度怖糊,而時鐘輪就相當(dāng)于秒針與分針等跳動的一個周期,我們會將每個任務(wù)放到對應(yīng)的時間槽位上颇象。時鐘輪的運(yùn)行機(jī)制和生活中的時鐘也是一樣的伍伤,每隔固定的單位時間,就會從一個時間槽位跳到下一個時間槽位遣钳,這就相當(dāng)于我們的秒針跳動了一次扰魂;時鐘輪可以分為多層,下一層時鐘輪中每個槽位的單位時間是當(dāng)前時間輪整個周期的時間蕴茴,這就相當(dāng)于 1 分鐘等于 60 秒鐘劝评;當(dāng)時鐘輪將一個周期的所有槽位都跳動完之后,就會從下一層時鐘輪中取出一個槽位的任務(wù)倦淀,重新分布到當(dāng)前的時鐘輪中蒋畜,當(dāng)前時鐘輪則從第 0 槽位從新開始跳動,這就相當(dāng)于下一分鐘的第 1 秒撞叽。為了方便你了解時鐘輪的運(yùn)行機(jī)制百侧,我們用一個場景例子來模擬下,一起看下這個場景能扒。假設(shè)我們的時鐘輪有 10 個槽位佣渴,而時鐘輪一輪的周期是 1 秒,那么我們每個槽位的單位時間就是 100 毫秒初斑,而下一層時間輪的周期就是 10 秒辛润,每個槽位的單位時間也就是 1 秒,并且當(dāng)前的時鐘輪剛初始化完成,也就是第 0 跳砂竖,當(dāng)前在第 0 個槽位真椿。

image.png

現(xiàn)在我們有 3 個任務(wù),分別是任務(wù) A(90 毫秒之后執(zhí)行)乎澄、任務(wù) B(610 毫秒之后執(zhí)行)與任務(wù) C(1 秒 610 毫秒之后執(zhí)行)突硝,我們將這 3 個任務(wù)添加到時鐘輪中,任務(wù) A 被放到第 0 槽位置济,任務(wù) B 被放到第 6 槽位解恰,任務(wù) C 被放到下一層時間輪的第 1 槽位,如下面這張圖所示浙于。

image.png

當(dāng)任務(wù) A 剛被放到時鐘輪护盈,就被即刻執(zhí)行了,因?yàn)樗环诺搅说?0 槽位羞酗,而當(dāng)前時間輪正好跳到第 0 槽位(實(shí)際上還沒開始跳動腐宋,狀態(tài)為第 0 跳);600 毫秒之后檀轨,時間輪已經(jīng)進(jìn)行了 6 跳胸竞,當(dāng)前槽位是第 6 槽位,第 6 槽位所有的任務(wù)都被取出執(zhí)行参萄;1 秒鐘之后卫枝,當(dāng)前時鐘輪的第 9 跳已經(jīng)跳完,從新開始了第 0 跳拧揽,這時下一層時鐘輪從第 0 跳跳到了第 1 跳剃盾,將第 1 槽位的任務(wù)取出腺占,分布到當(dāng)前的時鐘輪中淤袜,這時任務(wù) C 從下一層時鐘輪中取出并放到當(dāng)前時鐘輪的第 6 槽位;1 秒 600 毫秒之后衰伯,任務(wù) C 被執(zhí)行铡羡。

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市意鲸,隨后出現(xiàn)的幾起案子烦周,更是在濱河造成了極大的恐慌,老刑警劉巖怎顾,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件读慎,死亡現(xiàn)場離奇詭異,居然都是意外死亡槐雾,警方通過查閱死者的電腦和手機(jī)夭委,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來募强,“玉大人株灸,你說我怎么就攤上這事崇摄。” “怎么了慌烧?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵逐抑,是天一觀的道長。 經(jīng)常有香客問我屹蚊,道長厕氨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任淑翼,我火速辦了婚禮腐巢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玄括。我一直安慰自己冯丙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布遭京。 她就那樣靜靜地躺著胃惜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哪雕。 梳的紋絲不亂的頭發(fā)上船殉,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機(jī)與錄音斯嚎,去河邊找鬼利虫。 笑死,一個胖子當(dāng)著我的面吹牛堡僻,可吹牛的內(nèi)容都是我干的糠惫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼钉疫,長吁一口氣:“原來是場噩夢啊……” “哼硼讽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起牲阁,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤固阁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后城菊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體备燃,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年凌唬,在試婚紗的時候發(fā)現(xiàn)自己被綠了并齐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冀膝,靈堂內(nèi)的尸體忽然破棺而出唁奢,到底是詐尸還是另有隱情,我是刑警寧澤窝剖,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布麻掸,位于F島的核電站,受9級特大地震影響赐纱,放射性物質(zhì)發(fā)生泄漏脊奋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一疙描、第九天 我趴在偏房一處隱蔽的房頂上張望诚隙。 院中可真熱鬧,春花似錦起胰、人聲如沸久又。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽地消。三九已至,卻和暖如春畏妖,著一層夾襖步出監(jiān)牢的瞬間脉执,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工戒劫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留半夷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓迅细,卻偏偏與公主長得像巫橄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子疯攒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 插: 前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站嗦随,通俗易懂列荔,風(fēng)趣幽默敬尺,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站贴浙。[http...
    程序員小2閱讀 4,230評論 1 25
  • 只要涉及到網(wǎng)絡(luò)通信砂吞,我們就可能用到 RPC,RPC 是解決分布式系統(tǒng)通信問題的一大利器崎溃。 RPC 的作用就是體現(xiàn)在...
    技術(shù)滅霸閱讀 534評論 0 1
  • 心跳與超時:高并發(fā)高性能的時間輪超時器 [TOC] 引言 在許多業(yè)務(wù)場景中蜻直,我們都會碰到延遲任務(wù),定時任務(wù)這種需求...
    風(fēng)火1989閱讀 753評論 0 2
  • 零、時間輪定義 簡單說說時間輪吧概而,它是一個高效的延時隊(duì)列呼巷,或者說定時器。實(shí)際上現(xiàn)在網(wǎng)上對于時間輪算法的解釋很多赎瑰,定...
    Java大生閱讀 1,950評論 1 0
  • 一王悍、背景 因?yàn)榍肮居袀€項(xiàng)目(一個給運(yùn)營同學(xué)使用的可以通過配置化 實(shí)現(xiàn) 圈取人群并發(fā)送 紅包,優(yōu)惠券餐曼,短信压储,pus...
    過客隨塵閱讀 1,065評論 0 1