Java NIO---1

核心组件

  1. Channel
  2. Buffer
  3. Selector

channel

同一个网络连接用同一个通道表示,IO操作都是从通道开始的,既可以从通道中读取,也可以从通道中写入。通道结合了输入流和输出流。

Buffer

通道的读取就是把数据从通道读取到缓冲区,反之为写入。

Selector

这里回到IO多路复用,一个进程或者线程可以监视多个文件描述符,一旦其中的一个或者多个文件描述符可读或者可写,系统内核就会通知该进程或者线程。在Java中selector就是充当了这个监视器的作用,通过这个监视器,一个线程可以查询多个通道的IO事件就绪状态。
为了实现IO多路复用,首先把通道注册到选择器中,一个选择器只需要一个线程进行监控,我们可以很简单的使用一个线程,通过选择器去管理多个通道。

稍后继续~~

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