【发布时间】:2023-04-06 16:26:02
【问题描述】:
当使用 java 实现消息服务器时,我们应该选择 Java bio 还是 Java nio?需要考虑哪些因素?
【问题讨论】:
标签: java network-programming nio
当使用 java 实现消息服务器时,我们应该选择 Java bio 还是 Java nio?需要考虑哪些因素?
【问题讨论】:
标签: java network-programming nio
NIO 允许您仅使用单个(或几个)线程来管理多个通道(网络连接或文件),但代价是解析数据可能比从阻塞流中读取数据要复杂一些。
如果您需要同时管理数千个打开的连接,每个连接只发送少量数据,例如消息传递服务器,在NIO 中实现服务器是一个优势。同样,如果您需要与其他计算机保持大量开放连接,例如在 P2P 网络中,使用单个线程来管理所有出站连接可能是一个优势 (BIO)
如果您的连接较少且带宽非常高,一次发送大量数据,则应该选择标准的BIO 服务器实现。
阅读本教程了解更多详情
【讨论】: