UDP點對點併發通信

需求:

        最近在做一個UDP點對點通信模塊,UDP服務端接收數據,然後調用相應的處理函數處理消息,如果處理消息函數耗時太長,將導致UDP服務端線程屬於阻塞狀態,爲解決這個問題,將接收數據和處理數據進行了分層,分別創建了UDP服務接收線程和多個消息處理線程,兩線程的橋樑是通過消息隊列進行傳輸,具體過程爲:UDP服務端接收數據存放到消息隊列,不做相應的數據處理,消息處理線程從隊列中提取消息然後根據消息類型調用不同的處理函數(這裏要特別注意,如果是同類型的消息還是會出現阻塞,這裏必須要通過加鎖,串行的處理消息),附圖如下:

  

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