鵝廠開源框架tars之基礎元件
阿新 • • 發佈:2018-12-11
一、執行緒安全佇列
typedef TC_ThreadQueue<tagRecvData*, deque<tagRecvData*> > recv_queue; 接收佇列 typedef TC_ThreadQueue<tagSendData*, deque<tagSendData*> > send_queue; 傳送佇列
定義如下:實現比較簡單TC_ThreadQueue模板類直接繼承了:TC_ThreadLock,從之前文章網路層實現的介紹可以看到這個類比較重要,因為從框架中收到的網路包都會加入到這個快取佇列裡面,然後多業務執行緒ServantHandle會呼叫waitForRecvQueue從該佇列裡面取網路資料包,然後呼叫dispatch呼叫協議訊息對應的處理函式
TC_ThreadQueue繼承於TC_ThreadLock用於實現執行緒鎖和wait如下:
如上圖呼叫了:Lock lock(*this);加鎖 ,避免網路層接收資料和業務層取同一佇列的資料衝突
二、TC_ThreadLock普通執行緒鎖
三、TC_Thread執行緒基類
四、監控
心跳上報給node
上報連線數 比率
使用者自定義屬性基類PropertyReport
未完待續.....