1. 程式人生 > >Cat 客戶端如何構建調用鏈消息樹

Cat 客戶端如何構建調用鏈消息樹

com src 保存 其中 images 相關 核心 構建 技術分享

場景 & 代碼

Inner0 中的某方法調用了 Inner1,代碼

技術分享

Inner1的代碼很簡單,

技術分享

Cat通過一個線程本地變量來保存調用鏈的相關信息,其中核心的數據結構是消息樹和操作棧。消息樹用來存數據,操作棧用來構建節點的層次關系。

在上面的調用過程中,這兩個數據結構狀態的變化如下

技術分享

更復雜的場景

技術分享

數據的變化過程

技術分享

Cat 客戶端如何構建調用鏈消息樹