天天看點

某背景伺服器時序圖

某背景伺服器時序圖,畫了三小時,終于畫好。

某背景伺服器時序圖

如上圖,ListenThread負責偵聽用戶端的連接配接,當有用戶端連接配接上來時,接受socket,并且發送消息3:add socketInfo,将socketinfo增加到 m_sockCacheList[nIndex]中。nIndex表示緩沖線程的線程索引,取值可以為[1…n]。ListenThread用socket總數對緩沖線程總數取模來決定目前socket加入到哪個緩沖線程中。

緩沖線程對自己m_sockCacheList[nIndex]中的socket循環檢查是否有資料可讀。若有資料可讀,則為用戶端尋找空閑的TradeThread(或者建立TradeThread,發送消息5:Create TradeThread),接着發送消息6:Delete socketInfo,将socketInfo從自己内部的m_sockCacheList[nIndex]移除。

TradeThread,偵聽用戶端的請求操作,并且根據業務規則,做相應處理。當發現用戶端在規定的時間内無反應時,發送消息:5:3,Delete socketInfo,将scoketInfo删除。

上一篇: 基尼不純度
下一篇: hdu1050