天天看點

05-BIO,NIO,AIO幾種通訊模式的比較

Java NIO : 同步非阻塞,伺服器實作模式為一個請求一個線程,即用戶端發送的連接配接請求都會注冊到多路複用器上,多路複用器輪詢到連接配接有I/O請求時才啟動一個線程進行處理。

Java AIO(NIO.2) : 異步非阻塞,伺服器實作模式為一個有效請求一個線程,用戶端的I/O請求都是由OS先完成了再通知伺服器應用去啟動線程進行處理,

NIO方式适用于連接配接數目多且連接配接比較短(輕操作)的架構,比如聊天伺服器,并發局限于應用中,程式設計比較複雜,JDK1.4開始支援。

AIO方式使用于連接配接數目多且連接配接比較長(重操作)的架構,比如相冊伺服器,充分調用OS參與并發操作,程式設計比較複雜,JDK7開始支援

I/O屬于底層操作,需要作業系統支援,并發也需要作業系統的支援,是以性能方面不同作業系統差異會比較明顯。另外NIO的非阻塞,需要一直輪詢,也是一個比較耗資源的。是以出現AIO

上一篇: SiteMesh實戰
下一篇: SiteMesh介紹

繼續閱讀