参考:
https://blog.csdn.net/wr_java/article/details/129843647
方案1:使用rabbitMQ 超时队列
方案2:使用redis的zset 把时间当作分数, 然后一个线程循环获取小于当前时间的值
方案3:使用超时中心,如参考的文章