W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Netty是一個異步事件驅(qū)動的NIO框架,Netty的所有IO操作都是異步非阻塞的。Netty 實際上是使用 Threads(多線程)處理 I/O 事件,熟悉多線程編程的讀者可能會需要關(guān)注同步代碼。但是這么做不好,因為同步會影響程序的性能,Netty 的設(shè)計保證程序處理事件不會有同步。圖 Figure 3.1 展示了,你不需要在 Channel 之間共享 ChannelHandler 實例的原因:
Figure 3.1
該圖顯示,一個 EventLoopGroup 具有一個或多個 EventLoop。想象 EventLoop 作為一個 Thread 給 Channel 執(zhí)行工作。 (事實上,一個 EventLoop 是勢必為它的生命周期一個線程。)
當(dāng)創(chuàng)建一個 Channel,Netty 通過 一個單獨的 EventLoop 實例來注冊該 Channel(并同樣是一個單獨的 Thread)的通道的使用壽命。這就是為什么你的應(yīng)用程序不需要同步 Netty 的 I/O操作;所有 Channel 的 I/O 始終用相同的線程來執(zhí)行。
更多關(guān)于 EventLoop 和 EventLoopGroup的知識我們將會在第15章討論。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: