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

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

 

 

 

資料內(nèi)容:

 

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