程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c-C/C++的互斥器Mutex是什麼,求初步介紹

c-C/C++的互斥器Mutex是什麼,求初步介紹

編輯:編程綜合問答
C/C++的互斥器Mutex是什麼,求初步介紹

C/C++的互斥器Mutex是什麼,求初步介紹:
今天重新看了EFFCETIVE C++,那個互斥器是什麼東東,多線程編程怎麼用?

最佳回答:


Mutex是windows中用於對線程控制的互斥量
意思是只能有一個線程取得對它的占有權,因為有些業務只允許一個線程進行控制
打個比方:一個房間每次只允許一個人進去,而當有多個人需要使用那個房間時,就需要進行控制,其他人必須排隊,這個控制就需要設置一個互斥量。
具體的用法:
通過 HANDLE CreateMutex(LPSECURITY_ATTRIBUTES lpMutexAttributes,BOOL bInitialOwner,LPCTSTR lpName); 來創建互斥量,
這個方法的具體參數說明:lpMutexAttributes——必須取值NULL。
bInitialOwner——指示當前線程是否馬上擁有該互斥量(即馬上加鎖)。
lpName——互斥量名稱。

當線程調用WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds); 時取得對互斥量的占有權,
調用ReleaseMutex(HANDLE hMutex);時打開互斥鎖,即取消對互斥量的占用

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved