NioEventLoopGroup 的自定义执行程序是否危险?
Is a custom executor for NioEventLoopGroup dangerous?
我想在服务器的 NioEventLoopGroup 中重用工作线程的线程池 bootstrap。
NioEventLoopGroup interface offers to use a custom executor. I'm worried to use it, because the default executor is a special implementation:
if (executor == null) {
executor = new ThreadPerTaskExecutor(this.newDefaultThreadFactory());
}
网络人通常不会无缘无故地编写实现。这就是为什么我不确定使用简单的线程池是否有任何缺点。
一般来说,使用您的自定义 Executor
并不危险,但我认为对于您的用例,您应该共享相同的 EventLoopGroup
实例。
自定义 Executor
可用于与 Netty 范围之外的实施的另一部分共享线程池。相信诺曼的话:这并不危险。
Project Reactor 支持 same mechanism 自定义 Executor
。因此,您可以创建一个并在 Reactor 和 Netty 之间共享它,以最大限度地利用线程(不要让一个池未充分利用而另一个被过度使用)。请记住,以这种方式共享执行程序仅适用于短期、非阻塞任务。
我想在服务器的 NioEventLoopGroup 中重用工作线程的线程池 bootstrap。
NioEventLoopGroup interface offers to use a custom executor. I'm worried to use it, because the default executor is a special implementation:
if (executor == null) {
executor = new ThreadPerTaskExecutor(this.newDefaultThreadFactory());
}
网络人通常不会无缘无故地编写实现。这就是为什么我不确定使用简单的线程池是否有任何缺点。
一般来说,使用您的自定义 Executor
并不危险,但我认为对于您的用例,您应该共享相同的 EventLoopGroup
实例。
自定义 Executor
可用于与 Netty 范围之外的实施的另一部分共享线程池。相信诺曼的话:这并不危险。
Project Reactor 支持 same mechanism 自定义 Executor
。因此,您可以创建一个并在 Reactor 和 Netty 之间共享它,以最大限度地利用线程(不要让一个池未充分利用而另一个被过度使用)。请记住,以这种方式共享执行程序仅适用于短期、非阻塞任务。