新手对于java NIO疑问:报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

新手对于java NIO疑问:报错

kun坤 2020-06-07 21:12:42 74

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

Java
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-07 21:12:49

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

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

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程