Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Java編程中的IO模型詳解:BIO,NIO,AIO的區(qū)別與實(shí)際應(yīng)用場景分析 PDF 下載
匿名網(wǎng)友發(fā)布于:2024-01-22 09:49:49
(侵權(quán)舉報(bào))
(假如點(diǎn)擊沒反應(yīng),多刷新兩次就OK!)

Java編程中的IO模型詳解:BIO,NIO,AIO的區(qū)別與實(shí)際應(yīng)用場景分析 PDF 下載  圖1

 

 

 

資料內(nèi)容:

 

缺點(diǎn): 1、IO代碼里read操作是阻塞操作,如果連接不做數(shù)據(jù)讀寫操作會(huì)導(dǎo)致線程阻塞,浪費(fèi)資源 2、如果線程很多,會(huì)導(dǎo)致服務(wù)器線程太多,壓力太大,比如C10K問題 應(yīng)用場景: BIO 方式適用于連接數(shù)目比較小且固定的架構(gòu), 這種方式對(duì)服務(wù)器資源要求比較高, 但程序簡單易理解。 NIO(Non Blocking IO) 同步非阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)線程可以處理多個(gè)請(qǐng)求(連接),客戶端發(fā)送的連接請(qǐng)求都會(huì)注冊(cè)到多路復(fù)用器selector上,多路復(fù)用 器輪詢到連接有IO請(qǐng)求就進(jìn)行處理,JDK1.4開始引入。 應(yīng)用場景: NIO方式適用于連接數(shù)目多且連接比較短(輕操作) 的架構(gòu), 比如聊天服務(wù)器, 彈幕系統(tǒng), 服務(wù)器間通訊,編程比較復(fù)雜 NIO非阻塞代碼示例: