DelayQueue和时间轮

DeylayQueue

JUC中的延迟队列,看下面这两篇文章;
https://www.jianshu.com/p/e0bcc9eae0ae
https://blog.csdn.net/dkfajsldfsdfsd/article/details/88966814

时间轮,基于槽的DelayQueue;

kafka,netty,quazrt 都优化了定时任务, 比如100万级别的任务,logN的堆复杂度,也是不小的开销;
使用时间轮,管理任务的插入,delayQUeue,推进任务处理;
DelayQueue存的只是 bucket,bucket 里面是一个TaskList;
任务的添加都是在 bucket里面;
任务的推进在delayQueue里面;

你可能感兴趣的:(DelayQueue和时间轮)