Selector: 多路复用器,一个selector可以处理多个客户端; 一个selector对应一个线程
NIO 非阻塞原理分析图

服务端实例:
1.开启serverSocketChannel
2.将ServerSocketChannel注册到select(OP_ACCEPT:连接)中
3. 循环等待客户端,当检测到client连接后,开启一个新的SocketChannel,并注册到select (OP_READ:读取)
4. 循环等待客户端,当检测到client读取,获取channel和buffer并打印
5. 每个循环都要移除selector


客户端实例
1.开启SocketChannel
2.将buffer数据写入Channel中

本文深入解析NIO的Selector机制,展示如何使用一个Selector处理多个客户端连接,包括服务端与客户端实例的详细步骤。从开启ServerSocketChannel到注册Selector,再到循环等待客户端连接与读取,全面覆盖NIO非阻塞I/O的核心流程。

303

被折叠的 条评论
为什么被折叠?



