IO的線程模型

如果有多個(gè)客戶需要點(diǎn)餐(客戶端連接)的話就需要有多個(gè)服務(wù)員(線程)去為它服務(wù)
NIO的線程模型

NIO較之IO的改進(jìn)就是:服務(wù)員(Thread)+Selector選擇器就可以為多個(gè)客戶(clent端)服務(wù)(單線程的)
Netty的線程模型

如果我們的餐廳規(guī)模擴(kuò)大了,我們就需要雇傭多個(gè)服務(wù)員(多線程Thread),
netty需要兩個(gè)線程池,一個(gè)是boss 一個(gè)是worker,boss就是上圖中的port、它的主要功能是負(fù)責(zé)clent的連接(即監(jiān)聽客戶端)、以及要將客戶分配給那個(gè)服務(wù)員(clent分配給哪個(gè)thread去處理即客戶端的分發(fā)輪訓(xùn)去處理)。workder線程中的線程就是負(fù)責(zé)具體clent客戶的需求(即具體的業(yè)務(wù)邏輯處理clent端的讀寫)
線程池的最大連接數(shù) 就是2的31次冪-1
默認(rèn)初始線程數(shù)是cpu的核心數(shù)*2