一.日常工作中使用到的框架?
单机:Quartz,Spring Schedule 等框架;
分布式: SchedulerX,ElasticJob,xxlJob 等分布式任务调度
二.定时任务的作用
简单来讲为某个时间执行某些具体的任务
1.数据获取 2.财务账目核对 3.定时数据备份 4.定时更新数据平台的数据
三.定时任务可以使用什么数据结构来实现?
3.1 数组
将所有的任务存放在一个数组里面,间隔单位时间遍历数组,找到满足时间的任务,查询时间复杂度为o(N),
新增任务即为新增一个元素。
3.2 优先队列
随着时间的增加,超过时间的任务已经被执行过或者丢弃了,因此我们只需要查询最接近当前时间的,即前几个最小的任务,可以使用小根堆实现。
新增任务即为往树里面插入元素,时间复杂度为o(log(N)),查找复杂度为o(log(N))
3.3时间轮算法

