前面學習了channel和bootstarp。
本文分為兩部分,一是補充下channel 二是整體來看下channel和bootstarp
channel其他包
embedded
epoll unix實作 epoll選擇socket
local 就是本地通訊,不需要跨ip
group channelGroup 包含了channel的集合類,提供一些線程安全的方法
rxtx sctp unt 各種協定
主要是nio這個包,看下其實很簡單 實作AbstractChannel和SingleThreadEventLoop 即可。一個來控制channel操作,一個來控制線程池
總結
Bootstrap 提供了統一的入口類,用來建構server或client
EventLoopGroup 定時線程池 需要異步處理的,可以放到線程池來處理
channel 為定義接口的方法,bind connect read write
channelHandler 定義一些事件方法, inbound outbound
channelPipe 為構造channelhandler 連結清單
ChannelHandlerInvoker 主要有EventExecutor ,用來決定本線程執行?還是送出給線程,具體的執行者是channelHandler的子類
ChannelHandlerContext 為上下文包含了 channelHandler Channel EventExecutor ChannelHandlerInvoker