【问题标题】:Is a custom executor for NioEventLoopGroup dangerous?NioEventLoopGroup 的自定义执行器是否危险?
【发布时间】:2018-06-14 06:23:14
【问题描述】:

我想在我的服务器引导程序的 NioEventLoopGroup 中重用我的工作线程的线程池。

NioEventLoopGroup interface 提供使用自定义执行程序。我担心使用它,因为默认执行器是special implementation

if (executor == null) {
    executor = new ThreadPerTaskExecutor(this.newDefaultThreadFactory());
}

netty 的人通常不会无缘无故地编写实现。这就是为什么我不确定使用简单的线程池是否有任何缺点。

【问题讨论】:

  • 为什么不分享NioEventLoopGroup对象?
  • 好点。我没有看到它实现了 Executor,但它显然实现了。谢谢你。但是知道它是否危险仍然很高兴

标签: java multithreading netty


【解决方案1】:

一般来说,使用您的自定义 Executor 并不危险,但我认为对于您的用例,您应该只共享相同的 EventLoopGroup 实例。

【讨论】:

    【解决方案2】:

    自定义Executor 对于与Netty 范围之外的实现的另一部分共享线程池很有用。相信诺曼的话:这并不危险。

    Project Reactor 支持自定义Executorsame mechanism。因此,您可以创建一个并在 Reactor 和 Netty 之间共享它,以最大限度地利用线程(不要让一个池未充分利用而另一个池被过度使用)。请记住,以这种方式共享执行程序仅适用于短期、非阻塞任务。

    【讨论】:

      猜你喜欢
      • 2017-08-21
      • 2010-11-30
      • 2011-01-30
      • 2021-01-19
      • 2010-12-28
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      相关资源
      最近更新 更多