【发布时间】:2012-08-31 02:59:40
【问题描述】:
据我所知,蔚来可以帮助服务器,处理很多请求。因为 NIO 不是每个请求模型使用一个线程。
但是客户端是创建与服务器的连接的,通常没有那么多连接,客户端完全可以处理。
我看到一些客户端库使用 NIO,但我不太确定。那么为什么客户端的蔚来兄弟,有没有性能提升呢?
【问题讨论】:
据我所知,蔚来可以帮助服务器,处理很多请求。因为 NIO 不是每个请求模型使用一个线程。
但是客户端是创建与服务器的连接的,通常没有那么多连接,客户端完全可以处理。
我看到一些客户端库使用 NIO,但我不太确定。那么为什么客户端的蔚来兄弟,有没有性能提升呢?
【问题讨论】:
没有很好的理由在客户端使用 NIO,除非您可能正在编写具有数百或数千个出站连接的网络爬虫之类的东西。
可以说,在服务器上用户也没有太多理由。 select() 模型是为替代方案分叉进程的时代设计的。现在我们有了线程,整个模型没有实际意义。
【讨论】:
select 还是其他机制)。您认为哪个会更好地扩展?
Selector 实现甚至使用了 epoll 库以实现惊人的性能,从而相对轻松地支持 10,000 多个客户端。