前面學習了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