分佈式架構之NIO入門與實戰

一、初探

1、概念:非阻塞的IO多路複用機制,跟傳統 I/O差別如下

      

2、原理

  • Channel(通道):表示爲一個已經建立好的支持I/O操作的實體(如文件和網絡)的連接,Channel和IO中的Stream(流)是差不多一個等級的。只不過Stream是單向的,譬如:InputStream/OutputStream,而Channel是雙向的,既可以用來進行讀操作,又可以用來進行寫操作。NIO中的Channel的主要實現有:FileChannel、DatagramChannel、SocketChannel、ServerSocketChannel。分別可以對應文件IO、UDP和TCP(Client和Server)
  • Buffer(緩衝區):NIO中的關鍵Buffer實現有:ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer,分別對應基本數據類型: byte, char, double, float, int, long, short。當然NIO中還有MappedByteBuffer, HeapByteBuffer, DirectByteBuffer
  • Selector:一個專門的選擇器來同時對多個Socket通道進行監聽(輪詢或阻塞),當其中的某些Socket通道上有它感興趣的事件發生時,這些通
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章