ChannelPromise是一种可写的特殊ChannelFuture

public interface ChannelPromise extends ChannelFuture, Promise<Void>

对于Promise:

public interface Promise<V> extends Future

定义了可以标识Future成功或者失败的方法,并且每一个Future只能够被标识一次,如果成功将会去通知之前所定义的listeners

在Netty中,所有的I/O操作都是异步的,因此调用一个I/O操作后,将继续当前线程的执行,但I/O操作的结果怎么获得?——ChannelFuture。

netty ChannelFuture与ChannelPromise

如上图,当前线程A异步发起I/O操作后,不阻塞继续执行相关操作,当IO线程B完成后,通过回调执行A设置的回调方法。

回调方法通过监听的形式实现:ChannelFutureListener。

ChannelPromise是ChannelFuture的扩展,允许设置I/O操作的结果,使ChannelFutureListener可以执行相关操作

 

 

相关文章:

  • 2022-01-20
  • 2021-07-06
  • 2021-05-02
  • 2022-12-23
  • 2021-08-23
  • 2021-11-11
  • 2021-10-08
  • 2022-01-31
猜你喜欢
  • 2022-12-23
  • 2022-01-02
  • 2021-08-04
  • 2021-08-21
  • 2021-04-29
  • 2022-02-14
  • 2021-07-11
相关资源
相似解决方案