放棄當前執行緒對鎖定部分的所有權。一旦鎖定部分的所有權被放棄,那么請求訪問臨界區的下一個執行緒,將可以對鎖定部分進行操作。
每一個調用EnterCriticalSection的執行緒,都應該調用一次LeaveCriticalSection。
基本介紹
- 中文名:離開臨界區
- 外文名:LeaveCriticalSection
- 性質:函式
- 互斥變數:EnterCriticalSection
- 目的:防止後續執行緒訪問臨界區失敗
語法,參數,返回值,使用說明,其他信息,
語法
void WINAPI LeaveCriticalSection( _Inout_LPCRITICAL_SECTION lpCriticalSection);
參數
- lpCriticalSection[in, out]
返回值
此函式返回值為空。
使用說明
使一個執行緒可以使用一個臨界段對象來進行互斥同步。這個過程需要優先創建一個臨界區結構體變數(分配使用記憶體)。在使用臨界區之前,待操作臨界區的進程必須調用InitializeCriticalSection 或者 InitializeCriticalSectionAndSpinCount函式來初始化臨界區。
一個執行緒使用EnterCriticalSection 或TryEnterCriticalSection函式來獲得關鍵部分對象的所有權時,該執行緒必須在離開臨界區時調用LeaveCriticalSection。
其他信息
如果一個執行緒在進入臨界區後沒有調用LeaveCriticalSection,則會出現等待進入臨界區的執行緒無限期等待的問題。