LeaveCriticalSection

LeaveCriticalSection

放棄當前執行緒對鎖定部分的所有權。一旦鎖定部分的所有權被放棄,那么請求訪問臨界區的下一個執行緒,將可以對鎖定部分進行操作。

每一個調用EnterCriticalSection的執行緒,都應該調用一次LeaveCriticalSection。

基本介紹

  • 中文名:離開臨界區
  • 外文名:LeaveCriticalSection 
  • 性質:函式
  • 互斥變數EnterCriticalSection
  • 目的:防止後續執行緒訪問臨界區失敗
語法,參數,返回值,使用說明,其他,

語法

void WINAPI LeaveCriticalSection( _Inout_LPCRITICAL_SECTION lpCriticalSection);

參數

  • lpCriticalSection[in, out]

返回值

此函式返回值為空。

使用說明

使一個執行緒可以使用一個臨界段對象來進行互斥同步。這個過程需要優先創建一個臨界區結構體變數(分配使用記憶體)。在使用臨界區之前,待操作臨界區的進程必須調用InitializeCriticalSection 或者 InitializeCriticalSectionAndSpinCount函式來初始化臨界區。
一個執行緒使用EnterCriticalSection 或TryEnterCriticalSection函式來獲得關鍵部分對象的所有權時,該執行緒必須在離開臨界區時調用LeaveCriticalSection。

其他

如果一個執行緒在進入臨界區後沒有調用LeaveCriticalSection,則會出現等待進入臨界區的執行緒無限期等待的問題。

相關詞條

熱門詞條

聯絡我們