Java高并发教程:Future异步回调模式
Java高并发教程:Future异步回调模式
Join异步阻塞
FutureTask异步回调
Guava异步回调
Netty的异步回调
Netty和Guava一样,实现了自己的异步回调体系:Netty继承和扩展了JDK Future系列异步回调的API,定义了自身的Future系列接口和类,实现了异步任务的监控、异步执行结果的获取。
总体来说,Netty对Java Future异步任务的扩展如下:
(1)继承Java的Future接口,得到了一个新的属于Netty自己的Future异步任务接口;该接口对原有的接口进行了增强,使得Netty异步任务能够以非阻塞的方式处理回调的结果;
注意:Netty没有修改Future的名称,只是调整了所在的包名,Netty的Future类的包名和Java的Future接口的包名不同。
(2)引入一个新接口,GenericFutureListener,用于表示异步执行完成的监听器。Netty使用了监听器的模式,异步任务的执行完成后的回调逻辑抽象成了Listener监听器接口。可以将Netty的GenericFutureListener监听器接口加入Netty异步任务Future中,实现对异步任务执行状态的事件监听。
总体上说,在异步非阻塞回调的设计思路上,Netty和Guava的思路是一致的。
参考资料
- 《Netty、Redis、Zookeeper高并发实战》