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高併發實戰》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章