面試官:知道時間輪算法嗎?在Netty和Kafka中如何應用的?
Timer
核心就是一個優(yōu)先隊列和封裝的執(zhí)行任務的線程,從這我們也可以看到一個 Timer 只有一個線程執(zhí)行任務。wait() 等待。

run 操作。
小結(jié)一下
?
ScheduledThreadPoolExecutor
Java 5.0 introduced ScheduledThreadPoolExecutor, It is effectively a more versatile replacement for the Timer, it allows multiple service threads. Configuring with one thread makes it equivalent to Timer。


小結(jié)一下
?
DelayQueue


小結(jié)一下
?
時間輪算法



Netty中的時間輪






小結(jié)一下
?
Kafka 中的時間輪


expiration < currentTime + interval 來進行對比的,而advanceClock 就是用來推進更新 currentTime ?的。小結(jié)一下
?
總結(jié)
巨人的肩膀
有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號
好文章,我在看??
評論
圖片
表情
