调用add方法添加延迟任务,add方法里面会调用offer方法,offer方法会调用q.offer,q是PriorityQueue优先级队列,所以数据最终是存放在PriorityQueue优先级队列里面的。
在平时的业务中我们可能会碰到这样的需求,用户A将任务分配给用户B,如果30天后用户B还没有处理这个任务,那么系统自动将这个任务转发给用户C,或者将任务退回给任务A。这里我们就可以使用延迟队列,我们写好转发方法或者退回方法,用户A分配任务时将时间记录放入延迟队列。