1. 程式人生 > >三種執行緒同步方式的比較

三種執行緒同步方式的比較

1、互斥物件和事件物件屬於核心物件,利用核心物件進行執行緒同步,速度比較慢,但是利用核心物件,可以在多個程序的多個執行緒之間進行執行緒同步。
2、關鍵程式碼段是工作在使用者方式下,同步速度比較快,但容易產生死鎖,因為在等待進入關鍵程式碼段時,無法設定超時值。
一般在進行多執行緒程式設計時,首選關鍵程式碼段,如果在一個mfc程式中使用,可以在一個類的建構函式中呼叫InitializeCriticalSection函式,在這個類的解構函式中呼叫DeleteCriticalSection函式,在需要保護的程式碼前面加入EnterCriticalSection函式,在訪問完我們保護的資源之後,呼叫LeaveCriticalSection函式。特別提醒要注意如果構造了多個臨界區物件,要防止死鎖的發生。

推薦閱讀《Windows核心程式設計》——機械工業出版社,深入學習多執行緒程式設計和執行緒同步。