java - Netty:有多少线程在服务器端口(80)上接受连接
问题描述
我知道在 Netty 4 中,一旦建立了通道,该通道的所有事件处理都在分配给特定 EventLoop 的同一线程上完成。此绑定在通道创建时完成。
我不明白的部分是需要多少线程才能实际接受新连接并创建新通道并进行绑定?
我不断看到以下代码:
new ServerBootstrap(new NioServerSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool()));
其中bossExecutor
可能有多个线程。
这是否意味着在严重的连接风暴下,会有超过 1 个线程接受新连接?而所有这些boss线程可以同时尝试accept
不同步吗?
解决方案
只有一个线程......在netty 4.1.x中,我们还支持SO_REUSEPORT
通过多次绑定到同一个端口来接受多个线程
推荐阅读
- python - 如何更改 scipy curve_fit/least_squares 步长?
- python - Discord.py 排名命令
- javascript - 为什么这会在 Web 控制台编译器中显示以及如何修复它并找到值
- excel - Worksheet_Change Target.Address 在特定工作表上
- java - Project Euler #14 输出的输出不正确
- javascript - 如何根据数据属性对父 div 中的子 div 进行排序?
- javascript - d3.js 分子图仅适用于对象的最后一个元素
- material-ui - Material UI React - 循环中的模态数据仅显示最后一次迭代数据
- javascript - 如何在 Materials-UI 中更改选项卡组件的大小?
- logstash - 无法将新更新的事件从 filebeat 发送到 logstash