基於netty 客戶端異步future設計

簡單說吧 。 我們需要實現一個同步類 Promise , 是調⽤線程 (單線程)的future 實現 。 在調用返回結果成功之前通過get方法阻塞調用線程 ,成功或者失敗,釋放阻塞線程 ,封裝到RpcAsyncGetFuture 類⾥⾯去 。直接返回RpcAsyncGetFuture 給調⽤⽅ , 調⽤Promise的get ⽅法 wait 阻塞調用線程,直到 netty read 事件 發⽣ ,通過 sequenceid 找到promise ,調 ⽤Promise 的setSuccess ⽅法 notify wait 線程, 喚醒調⽤線程 就能完成 下⾯是sdk 異步future設計 時序圖 。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章