假如服务器正在处理一个客户端的请求,这个请求需要它充当第三方系统的客户端,当一个应用程序必须要和现有的系统集成时,在这种情况下,将需要从已经被接受的子Channel中引导一个客户端Channel。

采用Bootstrap类重新创建客户端分配新的EventLoopGroup的弊端:

会为每个新创建的客户端Channel重新定义一个EventLoop,这会产生额外的线程,以及已经被接受的子Channel和客户端Channel之间交换数据时不可避免的上下文切换。

解决方案:

通过将已被接受的子Channel的EventLoop传递给Bootstrap的group()方法来共享该EventLoop,因为分配给EventLoop的所有Channel都使用同一个线程,所有这避免了额外的线程创建,以前前面提到的相关的上下文切换。