diff --git a/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketHashedWheelTimer.java b/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketHashedWheelTimer.java index a93ea99..855e2c2 100644 --- a/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketHashedWheelTimer.java +++ b/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketHashedWheelTimer.java @@ -4,6 +4,8 @@ import io.netty.util.HashedWheelTimer; import io.netty.util.Timer; import io.netty.util.TimerTask; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; @@ -13,6 +15,8 @@ import java.util.concurrent.TimeUnit; */ public class RedPacketHashedWheelTimer { + private static final DateTimeFormatter F = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); + public static void main(String[] args) throws Exception { ThreadFactory factory = r -> { Thread thread = new Thread(r); @@ -24,11 +28,12 @@ public class RedPacketHashedWheelTimer { * @param tickDuration - 每tick一次的时间间隔 * @param unit - tickDuration 的时间单位 * @param ticksPerWheel - 时间轮中的槽数 - * @param leakDetection + * @param leakDetection - 检查内存溢出 */ Timer timer = new HashedWheelTimer(factory, 1, TimeUnit.SECONDS, 100,true); - for(int i=0;i<100;i++){ + System.out.println(String.format("开始任务时间:%s",LocalDateTime.now().format(F))); + for(int i=1;i<10;i++){ TimerTask timerTask = new RedPacketTimerTask(i); timer.newTimeout(timerTask, i, TimeUnit.SECONDS); } diff --git a/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketTimerTask.java b/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketTimerTask.java index f3c12d3..58ae379 100644 --- a/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketTimerTask.java +++ b/src/main/java/com/itstyle/seckill/queue/delay/netty/RedPacketTimerTask.java @@ -8,6 +8,9 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; +/** + * 红包过期队列信息 + */ public class RedPacketTimerTask implements TimerTask { private static final DateTimeFormatter F = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");