码迷,mamicode.com
首页 > 其他好文 > 详细

一 NIO的概念

时间:2017-02-19 10:54:01      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:oat   select   sock   src   返回   int   long   多个   blog   

Java NIO由下列几个核心部分组成:

  •     Channels(通道)
  •     Buffers(缓冲区)
  •     Asynchronous IO(异步IO)

Channel 和 Buffer

  基本上所有的IO在NIO中都是从一个Channel开始,Channel有点像流。数据可以从Channel读到Buffer中,也可以从Buffer写到Channel中

技术分享

Channel的实现类

  • FileChannel
  • DatagramChannel
  • SocketChannel
  • ServerSocketChannel

Buffer的实现

  • ByteBuffer
  • CharBuffer
  • DoubleBuffer
  • FloatBuffer
  • IntBuffer
  • LongBuffer
  • ShortBuffer

Selector

  Selector允许单线程处理多个Channel。如果你的应用打开了多个连接(通道),但每个连接的流量都很低,使用Selector就会很方便。

技术分享

要使用Selector注册Channel,就得向Selector注册Channel,然后调用它的select()方法。这个方法会一直阻塞到某个注册的通道有事件就绪。一旦这个方法返回,线程就可以处理这些事件。

 

转载自并发编程网 – ifeve.com

 

一 NIO的概念

标签:oat   select   sock   src   返回   int   long   多个   blog   

原文地址:http://www.cnblogs.com/gudulijia/p/6414798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!