1. 程式人生 > >用戶模式同步之互斥體小解

用戶模式同步之互斥體小解

用戶模式 lease class 必須 我們 bool body 多線程 inf


1.互斥體(互斥體類似於同步事件)
互斥體可避免多個線程爭奪一個資源的問題,多線程環境下,如果一個線程獲得互斥體,不釋放的話其他的線程就獲得不了該資源
它與同步事件的區別:
是在同一個線程內它可以遞歸獲得互斥體,也就是這個線程獲得互斥體後對再次去獲得認可不排斥,同步我們顯而易見的得知不允許這樣
他有激發未激發兩種狀態,記住!!!獲得互斥體是未激發狀態,釋放互斥體是激發狀態,他和信號量區別清楚
同樣使用它首先要初始化;CreateMutex(SECURITY,BOOL(是否被占有),LPCTSTR(name)),獲得互斥體的函數是WAIT系列的等待函數
ReleaseMutex是釋放互斥體
第二參數為FALSE是沒有占有,是激發狀態,反之為未激發狀態
記住是在一個互斥體被一個線程獲得後必須釋放才能下一個獲得和自旋鎖原理一樣

2. 對於等待函數的解釋

技術分享圖片

用戶模式同步之互斥體小解