关于 Netty 的一个问题

2019-10-29 18:48:01 +08:00
 MoHen9

今天读 netty 权威指南第二版,在高效的 reactor 线程模型一小节,有段“服务端用于接收客户端连接的不再是 1 个单独 NIO 线程,而是一个独立的 NIO 线程池。”

https://ftp.bmp.ovh/imgs/2019/10/9b78598558e65783.png

但我之前读过的一篇博客中却是这样说的:

https://ftp.bmp.ovh/imgs/2019/10/af312400ad30f838.png

到底怎么理解?

博客地址:aHR0cHMlM0EvL3NlZ21lbnRmYXVsdC5jb20vYS8xMTkwMDAwMDA3NDAzODczJTIzYXJ0aWNsZUhlYWRlcjI=​

1486 次点击
所在节点    问与答
3 条回复
lhx2008
2019-10-29 19:00:40 +08:00
感觉说的不是一个东西,书上线程池是说 accpet 和 handle 可能会在多个线程。至于 accpt 和 handle 各是多少个线程,就看代码怎么写了。可以是一个也可以是多个。
teek
2019-10-30 00:26:51 +08:00
“It only makes sense to use more than 1 when you bind multiple times (to different ports) or re-use it between different ServerBootStrap. “ github.com/netty/netty/issues/8925
mazai
2019-12-02 19:16:44 +08:00
boosGroup 确实是一个独立的线程池,只不过一般会使用一个线程罢了,因为用一个线程来接收客户端连接足以。但是不排除极端情况,所以设计成线程池更好。

可以去看看 MultithreadEventLoopGroup 的构造方法

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

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

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

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

© 2021 V2EX