91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Netty的異步通知機制

發布時間:2021-08-16 11:19:55 來源:億速云 閱讀:202 作者:chen 欄目:大數據

本篇內容介紹了“Netty的異步通知機制”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

前言

前面的文章分析了Channel實例化、初始化、注冊機制,本文分析下異步結果的通知,也就是回調,同時梳理下Future、Promise、ChannelFuture、ChannelPromise的關系。

一、異步通知代碼走查

 

在Channel注冊到Selector后,會返回ChannelFuture。如果注冊未完成,會通過增加Listener來進行異步通知注冊結果,接下來看下是如何回調的。


代碼塊

Netty的異步通知機制

備注:上面代碼塊中在注冊完Channel后返回ChannelFuture,在ChannelFuture注冊了ChannelFutureListener,通過異步通知的方式獲取注冊結果。


代碼塊 

Netty的異步通知機制

備注:構建DefaultChannelPromise綁定了EventLoop和Channel,上面注冊的ChannelFutureListener實際注冊到了DefaultChannelPromise。


代碼塊

Netty的異步通知機制

備注:通過ChannelPromise標記Channel注冊成功。


代碼塊

Netty的異步通知機制

備注:在DefaultPromise中通過cas設置Channel注冊結果,并回調加在其身上的Listener。


Netty的異步通知機制

Netty的異步通知機制

備注:將注冊的所有Listener,通過回調GenericFutureListener的operationComplete方法,完成結果的通知。



二、異步通知流程圖


下面以channel注冊為例,勾勒異步回調流程圖。Future/Promise作為結果載體與執行Listener的執行主體。


Netty的異步通知機制


三、Future/Promise關系圖譜


以下類圖中展現了Future/Promise的類圖結構,Netty中Future繼承Java中的Future并`增加了基于Listener的異步通知機制`。

Promise允許在標志某個操作結果后再回調Listener(比如:在注冊成功后調用Promise#trySuccess將成功結果在Promise中標記,并回調Listener)。

ChannelFuture與特定的Channel綁定,ChannelPromise繼承ChannelFuture與Promise即擁有綁定特定Channel與標記操作結果回調Listener的能力。 


Netty的異步通知機制

“Netty的異步通知機制”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那曲县| 泗洪县| 霍州市| 峨边| 宜川县| 阜平县| 阿勒泰市| 石河子市| 中山市| 五华县| 宁波市| 甘肃省| 庆城县| 弋阳县| 芮城县| 嘉禾县| 裕民县| 铜山县| 工布江达县| 盘山县| 禄丰县| 富蕴县| 鲜城| 凤城市| 平顶山市| 凌云县| 桃源县| 平南县| 建瓯市| 嵊泗县| 黎城县| 子洲县| 东兰县| 兴安盟| 本溪| 龙陵县| 湘潭市| 清丰县| 铁岭县| 大英县| 晋中市|