请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Netty可以代替多线程吗?哪些并发代码可以转而使用Netty来简化?

  • JDK提供的多线程API,在实际项目中使用的比例应是有很大不同的。比如某些API使用比率非常高,某些基本不使用。

  • 项目中遇到的,需要使用并发来处理的问题,是否都可以转而使用Netty来解决呢?高手就不说了,普通开发者是否可以用Netty简洁的API来处理过去用多线程处理的问题呢?

正在回答

2回答

您好,Netty是网络通信层面的框架,只要涉及到多连接数据读写,都可以使用Netty,项目中遇到的并发问题,如果不涉及到IO,Netty是不适用的哦。
Netty底层基于NIO,NIO解决多线程的原理是:本来多个连接需要多个线程来处理数据读写,NIO用一个selector来处理这些连接,这样就只需要一个线程一个selector就可以处理所有连接的读写,不知道是否解答了您的疑问呢?

2 回复 有任何疑惑可以回复我~
  • 提问者 南国漂泊 #1
    谢谢老师!我把Netty万能化了,仔细想了想,Netty是基于多线程的简化socket连接的框架。多线程的概念更广义,不过现在分布式都涉及到多台计算机的通讯,以至于socket成为基本需求,Netty就是为了简化这类通讯需求而设计的吧。多线程的内容比较难,平时涉及到的不多,思考的不多,有点描述不清……
    回复 有任何疑惑可以回复我~ 2018-06-06 22:37:07
  • 提问者 南国漂泊 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-06-06 23:02:54
  • 提问者 南国漂泊 #3
    搜索多线程框架找到:disruptor ,  <https://github.com/LMAX-Exchange/disruptor/wiki/Introduction>
    回复 有任何疑惑可以回复我~ 2018-06-06 23:43:07
qq_柠檬香_0 2018-10-30 18:15:29

老师,您好,我想问一下我想实现通过netty实现客户端的通信交流,但是发现netty 服务写了心跳之后有数据发不出去,这是什么问题。另外想问一下,netty中如何其多线程,多线程中如何单发和群发呢?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信