这实际上可能与客户的一般使用有关Bootstrap
——显然,任何客户都需要该组。
但是,如果您在单个 JVM 上运行多个客户端,那么您真的会消耗大量内存,EventLoopGroup
为每个客户端创建一个,并且您自己可以很容易地 OOM。
我能够通过EventLoopGroup
在 JVM 中的所有客户端之间共享一个全局变量来解决这个问题,并使用引用计数来确保它被干净地初始化和销毁,但这似乎更像是一种解决方法,而不是预期的设计。
而且似乎没有任何EventLoopGroup
实现只使用单线程执行程序,可以串行执行客户端的调用;我意识到这与 Netty 的异步性质有些不一致,但这是一个合法的用例。