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

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

 

 

 

資料內(nèi)容:

 

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