博客
关于我
Netty工作笔记0025---SocketChannel API
阅读量:798 次
发布时间:2023-02-14

本文共 391 字,大约阅读时间需要 1 分钟。

技术交流群:JAVA,C++,Python,.NET,BigData,AI

在Java NIO中,SocketChannel的accept方法本身是阻塞的,但当我们基于事件驱动模型后,这种阻塞性被转换为非阻塞模式。原因在于,事件驱动模型会在有事件到来时自动触发accept操作,从而实现了非阻塞的效果。

这两种SocketChannel(ServerSocketChannel和SocketChannel)都继承自AbstractSelectableC类。这种继承关系反映了它们的可选性和事件驱动特性。通过这种方式,开发者可以更方便地管理多个I/O事件。

可以看到,不论是ServerSocketChannel还是SocketChannel,它们都保留了对AbstractSelectableC的继承关系。这种设计使得它们能够高效地处理I/O事件,并且能够灵活地适应不同的应用场景。

转载地址:http://kicfk.baihongyu.com/

你可能感兴趣的文章
npm ERR! ERESOLVE could not resolve报错
查看>>
npm ERR! fatal: unable to connect to github.com:
查看>>
npm ERR! Unexpected end of JSON input while parsing near '...on":"0.10.3","direc to'
查看>>
npm ERR! Unexpected end of JSON input while parsing near ‘...“:“^1.2.0“,“vue-html-‘ npm ERR! A comp
查看>>
npm error Missing script: “server“npm errornpm error Did you mean this?npm error npm run serve
查看>>
npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装
查看>>
npm install CERT_HAS_EXPIRED解决方法
查看>>
npm install digital envelope routines::unsupported解决方法
查看>>
npm install 卡着不动的解决方法
查看>>
npm install 报错 EEXIST File exists 的解决方法
查看>>
npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
查看>>
npm install 报错 Failed to connect to github.com port 443 的解决方法
查看>>
npm install 报错 fatal: unable to connect to github.com 的解决方法
查看>>
npm install 报错 no such file or directory 的解决方法
查看>>
npm install 权限问题
查看>>
npm install报错,证书验证失败unable to get local issuer certificate
查看>>
npm install无法生成node_modules的解决方法
查看>>
npm install的--save和--save-dev使用说明
查看>>
npm node pm2相关问题
查看>>
npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
查看>>