首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

先问个nio初级有关问题,nio和多线程模型怎么选择

2012-03-14 
先问个nio初级问题,nio和多线程模型如何选择在服务器端用nio或多线程模型都能实现同时服务多个用户的需求。

先问个nio初级问题,nio和多线程模型如何选择
在服务器端用nio或多线程模型都能实现同时服务多个用户的需求。请问什么时候选择多线程模型?什么时候选择nio?选择nio的好处是什么?

[解决办法]
你如果理解NIO的机制, 以及概念
还有多线程模型的话你自然而然就知道了,
这些东西没有什么规则的, 具体问题具体分析吧, 有好有坏的。
[解决办法]
可以根据吞吐规模和并发度来决定。

如果是并发度很高,且个体吞吐量小的,那么用nio比较好,这样你就不需要海量的线程数去对付海量的并发量,因为线程创建和线程切换也是有代价的。

如果是并发度不高,但个体吞吐量大或者说频密,那么用多线程模型比较好,这样每个连接都有专属线程,服务效率高。
[解决办法]
直接上netty。
[解决办法]
每个 Channel 使用一个读线程,可以使用多个写线程进行处理。
[解决办法]

探讨

引用:

每个 Channel 使用一个读线程,可以使用多个写线程进行处理。

我觉得写线程也可以用同一个,甚至合并到读线程中,因为Selector也可以侦测OP_WRITE事件,我这里现在就是这么做的,整个应用就是一个线程,处理几千个TCP连接。觉得写线程也可以用同一个,甚至合并到读线程中,因为Selector也可以侦测OP_WRITE事件,我这里现……

热点排行