首页 > 解决方案 > Netty:有多少线程在服务器端口(80)上接受连接

问题描述

我知道在 Netty 4 中,一旦建立了通道,该通道的所有事件处理都在分配给特定 EventLoop 的同一线程上完成。此绑定在通道创建时完成。

我不明白的部分是需要多少线程才能实际接受新连接并创建新通道并进行绑定?

我不断看到以下代码:

new ServerBootstrap(new NioServerSocketChannelFactory(
                Executors.newCachedThreadPool(),
                Executors.newCachedThreadPool()));

其中bossExecutor可能有多个线程。

这是否意味着在严重的连接风暴下,会有超过 1 个线程接受新连接?而所有这些boss线程可以同时尝试accept不同步吗?

标签: javanettynio

解决方案


只有一个线程......在netty 4.1.x中,我们还支持SO_REUSEPORT通过多次绑定到同一个端口来接受多个线程


推荐阅读