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高并发实战》
posted @ 2020-06-09 14:38  子烁爱学习  阅读(1543)  评论(0编辑  收藏  举报