EventLoop
- 继承java.util.concurrent.ScheduledExecutorService,具备线程池所有方法(可以当线程池使用)
- 继承io.netty.util.concurrent.OrderedEventExecutor,顺序执行任务
NioEventLoop :IO任务、定时任务、普通任务
DefaultEventLoop:定时任务、普通任务
package com.lb.netty.record;
import io.netty.channel.DefaultEventLoop;
import io.netty.channel.DefaultEventLoopGroup;
import io.netty.channel.EventLoop;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoop;
import io.netty.channel.nio.NioEventLoopGroup;
import java.util.concurrent.TimeUnit;
public class IbTask {
public static void main(String[] args) throws InterruptedException {
EventLoopGroup eventLoop = new NioEventLoopGroup();
EventLoopGroup defaultEventLoop = new DefaultEventLoopGroup();
eventLoop.next().execute(() -> {
System.out.println("EventLoopGroup-普通任务");
});
eventLoop.next().scheduleAtFixedRate(() -> {
System.out.println("EventLoopGroup-定时任务");
},0,1, TimeUnit.SECONDS);
defaultEventLoop.next().execute(() -> {
System.out.println("DefaultEventLoop-普通任务");
});
defaultEventLoop.next().scheduleAtFixedRate(() -> {
System.out.println("DefaultEventLoop-定时任务");
},0,1, TimeUnit.SECONDS);
TimeUnit.SECONDS.sleep(10);
defaultEventLoop.shutdownGracefully();
eventLoop.shutdownGracefully();
}
}