为什么netty NioEventloop默认的线程数是总线程*2+1?

开天门
  • 12

为什么netty NioEventloop默认的线程数是总线程*2+1?

以前我一直以为是 Runtime.getRuntime().availableProcessors()拿的是核心数,今天才发现原来拿的是进程数(现在cpu一般超线程了,线程=核心*2)。

那么为啥NioEventLoop还是拿 Runtime.getRuntime().availableProcessors() *2 呢?

回复
阅读 450
1 个回答
✓ 已被采纳

我觉得他们的设计这一块其实没有必要所有机型都考虑,也有很多没有超线程的机器,另外真正生产上很多服务器都是没有开启超线程的。
生产上面本身也是会根据机器自己设定的,默认值只是给一个相对合理的值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏