正如我们所知道的Netty中所有的I/O操作都是异步的,由于一个操作的结果可能不会立即返回,所有我们需要一种可以在之后的某个时间点确定其结果的方法,为此,Netty提供了ChannelFuture接口,就如JavaJdk中的Future 接口可以返回线程的执行结果一样,我觉得 起名字叫 ChannelFuture也是向 JavaJdk中的Future或FutureTask接口靠拢以便可以让使用的人在熟悉JavaJdk的基础上容易理解和接受。在ChannelFuture接口中,其addListener()方法注册了一个ChannelFuturerListener,以便在某个操作完成时(无论是否成功)得到通知。这个相比较于JavaJdk的Future或FutureTask大大改善了获取线程返回结果的方式,在JavaJdk的Future中需要使用 isdone方法来判断是否执行完毕。
此外,所有属于同一个Channel的操作都被保证其将以它们被调用的顺序被执行。