版权声明:转载请注明来源 https://blog.csdn.net/genghaihua/article/details/89548079
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。
如上图,当前线程A异步发起I/O操作后,不阻塞继续执行相关操作,当IO线程B完成后,通过回调执行A设置的回调方法。
回调方法通过监听的形式实现:ChannelFutureListener。
ChannelPromise是ChannelFuture的扩展,允许设置I/O操作的结果,使ChannelFutureListener可以执行相关操作