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

来源:2-1 一个简单的socket例子

南国漂泊

2018-06-06

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

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

写回答

2回答

闪电侠

2018-06-06

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

2
4
闪电侠
回复
南国漂泊
对的,完全正确,netty的哲学就是在简化网络编程的同时压榨cpu,充分提高应用的性能,你理解的完全正确哦!
2018-06-06
共4条回复

qq_柠檬香_0

2018-10-30

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

0
0

Java读源码之Netty深入剖析

解析netty各大组件细节,百万级性能调优,设计模式实际运用

2334 学习 · 283 问题

查看课程