Java NIO---1

核心組件

  1. Channel
  2. Buffer
  3. Selector

channel

同一個網絡連接用同一個通道表示,IO操作都是從通道開始的,既可以從通道中讀取,也可以從通道中寫入。通道結合了輸入流和輸出流。

Buffer

通道的讀取就是把數據從通道讀取到緩衝區,反之爲寫入。

Selector

這裏回到IO多路複用,一個進程或者線程可以監視多個文件描述符,一旦其中的一個或者多個文件描述符可讀或者可寫,系統內核就會通知該進程或者線程。在Java中selector就是充當了這個監視器的作用,通過這個監視器,一個線程可以查詢多個通道的IO事件就緒狀態。
爲了實現IO多路複用,首先把通道註冊到選擇器中,一個選擇器只需要一個線程進行監控,我們可以很簡單的使用一個線程,通過選擇器去管理多個通道。

稍後繼續~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章