javanio编程学习笔记(1)--初步了解nio

    xiaoxiao2021-04-15  28

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

    ChannelsBuffersSelectors

    channel和buffer的关系:channel类似于流,数据从channel流向buffer,从buffer写到channel channel在nio包中的几种实现: FileChannel, DatagramChannel, SocketChannel, serverSocketChannel buffer在nio包中的几种实现: ByteBufferCharBufferDoubleBufferFloatBufferIntBufferLongBufferShortBuffer

    Selector

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

    这是在一个单线程中使用一个Selector处理3个Channel的图示:

    要使用Selector,得向Selector注册Channel,然后调用它的select()方法。这个方法会一直阻塞到某个注册的通道有事件就绪。一旦这个方法返回,线程就可以处理这些事件,事件的例子有如新连接进来,数据接收等。

    转载请注明原文地址: https://ju.6miu.com/read-671167.html

    最新回复(0)