Netty:在I / O线程池中执行CompletableFuture回调

时间:2016-07-15 11:58:22

标签: netty

Netty 4.1.2.Final

wiki

  

无论其运输和类型如何,Netty都是上游(即入境)   必须从执行通道I / O的线程触发事件   (即I / O线程)。所有下游(即出站)事件都可以   从任何线程触发,包括I / O线程和非I / O.   线程。但是,任何上游事件都会触发作为副作用   必须从I / O线程触发下游事件。 (例如,如果   Channel.close()触发channelDisconnected,channelUnbound和   channelClosed,它们必须由I / O线程触发。

现在我有CompletableFuture,我想让回调在netty的I / O线程中执行。

future.thenAcceptAsync((Map<String, String> map) -> {
  // ...
});

thenAcceptAsync接受executor参数,如何发送executor参数?

1 个答案:

答案 0 :(得分:3)

EventLoop本身是一个执行者,所以你可以使用:

channel.eventLoop()并将其用作参数。