新手对于java NIO疑问

s33ker 发布于 2014/08/01 16:30
阅读 778
收藏 1
看了之后感觉nio的优势是服务端,避免线程多,单个线程经常空闲,造成服务器资源的浪费,但是,客户端的话,好像没啥了。 我现在有种需求是 我这边客户端访问多个服务端读取数据并发到别的地方(相当于中转),每读一个服务端就建立一个新的线程,现在用的是java的socket,不知道用nio会有什么优势,或者是有什么思路可以减少我这边的性能开支。
加载中
0
p
polaris_chen

感觉你这里的需求并不需要频繁的创建连接,而服务端通常又不会很多,那么连接数其实也不多,所以我觉得你的客户端应该是可以做连接缓存吧?每次需要读数据就缓存拿连接然后操作,连接数不多,而且也不频繁创建,我觉得性能不应该差。

0
Catelyn
Catelyn
注册到selector管理呀
0
zhuxinyu
zhuxinyu
每读一个服务端就建立一个新的线程 ---------> 这个可以用线程池来管理。客户端用nio的意义不是太大。
0
abcbuzhiming
abcbuzhiming
你的客户端需要连多少服务器,如果不多的话,你用nio没啥优势,因为你这种需求更像是在访问webservice,然后把webservice的结果进行中转,每个访问彼此之间互相不发生交集,相当于单次访问,NIO主要是为了解决同时有多个连接来访问自己的效率问题
0
他山
他山
其实我个人觉得,你这个中转的东西应该是服务端才对,而不是客户端。每连接到另一个服务器,你就把它的channel保存下来,后面要开线程或怎么的,都可以用。
返回顶部
顶部