1、 Sharable
- Sharable注解表示被ChannelInitializer或其他类使用保证多线程的并发性
2、 DefaultPipeline
- DefaultPipeline是处理ChannelHandler处理器通过addLast,添加到管道中ChannelPipeline是一个容器
3、 ChannelHandlerContext上下文
- 你可以提前获取一个ChannelHandlerContext的对象,然后在方法之前触发事件,而且在另外一个线程进行处理
- 一个Channel对应一个context或多个Context,一个ChannelHandler可以添加到多个ChannelPipeline里面,意味着单个ChannelHandler实例有一个或多个ChannelHandlerContext,然后一个实例可以多次不同的ChannelHandlerCnntext,被调用,添加或移除到ChannelPipeline
- 一个Handler一定会有对应的一个context的关系,context维护Handler的成员变量
4、 推荐学习博客
Channel与ChannelHandler及ChannelHandlerContext之间的关系分析
Netty5
的ChannelPipeline 和 ChannelHandler 源码分析
网友评论