BIO、NIO的區別

fan_rockrock發表於2016-05-13

     BIO是一個連線一個執行緒。

  NIO是一個請求一個執行緒。

同步阻塞IO(JAVA BIO): 

    同步並阻塞,伺服器實現模式為一個連線一個執行緒,即客戶端有連線請求時伺服器端就需要啟動一個執行緒進行處理,如果這個連線不做任何事情會造成不必要的執行緒開銷

同步非阻塞IO(Java NIO) : 同步非阻塞,伺服器實現模式為一個請求一個執行緒,即客戶端傳送的連線請求都會註冊到多路複用器上,多路複用器輪詢到連線有I/O請求時才啟動一個執行緒進行處理。使用者程式也需要時不時的詢問IO操作是否就緒,這就要求使用者程式不停的去詢問。 





相關文章