多執行緒服務程式程式設計心得

2021-04-07 08:47:11 字數 372 閱讀 4586

後台伺服器程式一般都要求很高的穩定性和健壯性,編寫高質量的伺服器程式需要注意如下幾個方面:

1、對於後台的多個並行工作執行緒最好不要用另乙個執行緒來統一管理。大多數人認為專門用乙個排程執行緒來排程各執行緒是乙個比較好的方案。但是在實際應用中這種方法並不一定好,因為如果你的任務處理特別頻繁而且需要將各執行緒不停地在掛起與啟用之間切換,就會出現一些意想不到的問題,各執行緒的排程狀態和實際的狀態不符合。所以最好是由各執行緒自己負責自己的排程。如果沒有任務了就sleep一下,時間可自己設定也可以按實際情況動態確定。如果任務緩衝區中有任務就取乙個任務來執行。這種方法即簡單又不會出現問題。

3、如果多個執行緒之間需要互斥地訪問多個共享物件,每個執行緒對共享物件的申請最好是一次性申請到(一次性加鎖),否則會出現一些死鎖現象。

VC Service程式設計(八)多執行緒服務

scm 服務控制管理器 向服務的控制處理器傳送服務控制事件來控制乙個服務。服務必須在短時間內響應控制請求,使得scm可以明確服務的當前狀態。還有,服務的當前狀態必須和它向scm報告的狀態相一致。由於服務和scm之間的這種通訊機制,使用多執行緒服務必須小心。當從scm那裡收到停止指示,在向scm報告服...

多執行緒伺服器 程式設計模型

多執行緒的價值在於發揮多核處理器的效能,單核使用狀態機是最高效的。提高平均響應時間 處理三個半事件 連線的建立 鏈結的斷開 訊息到達 訊息傳送完畢,對於低流量的服務不必關心 好處 執行緒數目基本固定,不會頻繁建立銷毀 可以方便地調配負載 io事件發生的執行緒固定,無需考慮併發。迭代伺服器 accep...

多執行緒程式設計

1 多執行緒的基本思路不是在介面執行緒執行費時的 而是專門啟動乙個執行緒 稱作工作執行緒 來完成,介面執行緒只負責介面的 顯示 和操作,而工作執行緒只負責耗時的操作過程。2 對於普通的win32應用程式來說,執行緒可以分為兩種 介面 ui user inte ce 執行緒和工作執行緒。介面執行緒一般...