netty时间轮

         netty的时间轮是一种环形数组结构,包含槽位和时间间隔,可以实现延时队列的任务。下面写一个HelloWorld程序。

         1.先引入netty依赖

<dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.1.36.Final</version>
        </dependency>

2.测试时间轮

public class TestHashedWheel {

    static HashedWheelTimer hashedWheelTimer = new HashedWheelTimer(100, TimeUnit.MILLISECONDS, 512);

    public static void main(String[] args) {

        String orderInfo = "订单1";
        order(orderInfo);

    }

    public static void order(String orderInfo){
        System.out.println("下单");
        System.out.println(System.currentTimeMillis());
        hashedWheelTimer.newTimeout(task -> {
            cancelOrder(orderInfo);
        }, 1, TimeUnit.MINUTES);
    }

    public static void cancelOrder(String orderInfo){
        System.out.println("取消订单:" + orderInfo);
        System.out.println(System.currentTimeMillis());
    }
}


版权声明:本文为weixin_41751625原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。