1. 程式人生 > >鵝廠開源框架tars之基礎元件

鵝廠開源框架tars之基礎元件

一、執行緒安全佇列

    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

未完待續.....