netty-daxin-5(eventLoop&pipeLine)

文章目录

  • NioEventLoop
    • 对selector的优化
    • 对Epoll空轮询bug的处理
    • 对io事件的处理流程
    • 对其它任务的处理流程
  • PipeLine
    • 一个Channel绑定一个Pipeline对象
    • 一个pipeLine对象管理多个HandlerContext对现象
    • 一个HandlerContext对象绑定一个业务Handler
    • inboud & outbound 入站和出站
  • channelPromise事件回调
    • listener事件回调
    • sync线程同步

NioEventLoop

这时Netty中极其重要的一个类,必须掌握

对selector的优化

对Epoll空轮询bug的处理

netty-daxin-5(eventLoop&pipeLine)_第1张图片

对io事件的处理流程

对其它任务的处理流程

netty-daxin-5(eventLoop&pipeLine)_第2张图片
不建议把耗时的任务给eventLoop来做,否则,会导致耗时任务一直占着eventLoop,而io事件得不到处理而超时,所以耗时的任务应当开其它线程池去处理

PipeLine

netty-daxin-5(eventLoop&pipeLine)_第3张图片

一个Channel绑定一个Pipeline对象

netty-daxin-5(eventLoop&pipeLine)_第4张图片

一个pipeLine对象管理多个HandlerContext对现象

netty-daxin-5(eventLoop&pipeLine)_第5张图片

一个HandlerContext对象绑定一个业务Handler

netty-daxin-5(eventLoop&pipeLine)_第6张图片

inboud & outbound 入站和出站

channelPromise事件回调

注意HeadContext & TailContext,以及fireXXX传递,以及netty自己的Unsafe

listener事件回调

sync线程同步

netty-daxin-5(eventLoop&pipeLine)_第7张图片

你可能感兴趣的:(netty,学习)