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