Java NIO-Reactor模式

Reactor模式:通过注册感兴趣的事件及扫描是否有感兴趣的事件发生,从而做出相应。

Reactor模式

Java NIO-Reactor模式_第1张图片

客户端示例

Java NIO-Reactor模式_第2张图片

Java NIO-Reactor模式_第3张图片

Java NIO-Reactor模式_第4张图片

需要注意的是,遍历返回的SelectionKey时,获取到Channel时,如果不指定非阻塞模式如代码位置2和3所示,进行IO使将发生阻塞。

服务端示例

Java NIO-Reactor模式_第5张图片

Java NIO-Reactor模式_第6张图片

Java NIO-Reactor模式_第7张图片

相比于客户端程序,无非将SocketChannel改为ServerSocketChannel,绑定指定端口上监听,然后再注册一个接受就绪的事件即可,其他都一样。

你可能感兴趣的:(Java NIO-Reactor模式)