java - 非阻塞 IO 仍然是服务器端 Java 的问题吗?

标签 java sockets tcp nonblocking

Java NIO Socket Framework据称向开发人员隐藏了非阻塞 IO 的肮脏细节,使他们能够构建高度可扩展的应用程序,仅使用一个线程就可以处理超过 10000 个传入和传出套接字。

  • 对于典型版本的 Java 2 SE/EE,非阻塞 IO 是否仍然是一个痛苦?

  • 这个框架是否仍然必要且有用?

感谢您的宝贵时间。

最佳答案

当然,NIO 对一些细节进行了抽象。非阻塞 IO 仍然让您头疼(至少,我发现它是),但至少它是可行的。 (我个人更喜欢异步 IO 的 .NET 风格,但这是另一回事。)

通常使用阻塞 IO:对于大多数任务,这就是我所需要的,并且我不会通过使用非阻塞 IO 获得显着 yield 。在某些情况下(例如您提到的情况),如果您想保持线程正常运行,非阻塞 IO 确实是唯一的出路。

我建议您了解它、使用它,然后根据判断来决定何时在生产代码中使用它。我不建议开始到处使用它...

关于java - 非阻塞 IO 仍然是服务器端 Java 的问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1423284/

相关文章:

java - 打印流数组

c - 服务器和客户端程序不发送或接收数据

sockets - Windows Phone 7-如何以编程方式搜索和连接到蓝牙设备

java - Web 应用程序无缘无故抛出 java.net.SocketException

python - 在没有端口转发的情况下连接到已知的外部 ip 和内部 ip

java - 组播的替代方案

c - 接受无效参数失败,后跟错误的文件描述符

java - 在使用 Job Scheduler API 的作业服务中使用 GoogleApiClient - 缺少回调

java - 等待在 Firefox 浏览器中无法工作 (Webdriver selenium 2.0 +Java)

java - 使用 scala 或 java 的 LDAP 身份验证