Netty 的 ChannelFuture 底层实现是一个线程池来执行吗

2018-07-10 12:17:29 +08:00
 lhx2008
初学 netty,想来请教下

ChannelFuture 提供了类似 js 的异步回调的写法,js 的实现应该是另外一个线程在执行,然后执行完再调用回调函数

ChannelFuture 的实现是怎么样呢,是由 Netty 维护的一个线程池来执行的吗?有没有人解释下
1196 次点击
所在节点    问与答
2 条回复
coolcfan
2018-07-10 12:47:49 +08:00
如果你用的是 NIO 开头的那一套东西的话,就把 EventLoopGroup 当作线程池好了。而一个 Channel 对应 Group 中的一个 EventLoop,NIO 的那个 EventLoop 本身默认是单线程的,既处理 I/O 事件,又处理相关 Future 的调用。默认情况下它会努力让处理两者的比例维持在 1:1 …
coolcfan
2018-07-10 12:49:02 +08:00
纯靠记忆说的,可能记错……感兴趣的话可以自己去看相关类的源码,和源码分析的文章。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/469547

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX