1.简述
eventloop干活的工人
Channel通道
Futurue&Promise进行异步任务处理的关键
Handler&Pipeline处理数据的每一道工序/多道工序
ByteBuf NIO中ByteBuffer的扩展
2.eventloop
eventloop事件循环对象
单线程执行器
eventloopgroup事件循环组,是一组eventloop
示例1:
package com.ityin.netty.c2;
import io.netty.channel.DefaultEventLoopGroup;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.util.NettyRuntime;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.TimeUnit;
@Slf4j
public class TestEventLoop {
public static void main(String[] args) {
//1.创建事件循环组
EventLoopGroup group=new NioEventLoopGroup();//io事件,普通任务,定时任务
//EventLoopGroup group2=new DefaultEventLoopGroup();//普通任务,定时任务
//System.out.println(NettyRuntime.availableProcessors());
//2.获取下一个事件循环对象
System.out.println(group.next());
//3.执行普通任务
group.next().submit(()->{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
log.debug("ok");
});
//4.执行定时任务
group.next().scheduleAtFixedRate(()->{
log.debug("ok");
},0,1, TimeUnit.SECONDS);//实现一秒打印出一次ok
log.debug("main");
}
}
示例2: