windows的互斥鎖mutex是可以在程序間使用的。
createmutex時可以指定乙個mutex名稱,此名稱可以被其他程序或執行緒使用。createmutex的第二個引數bool binitialowner表示在建立後是不是立刻獲取此鎖,相當於立即waitforsingleobject。
openmutex開啟乙個已經建立了的mutex。
waitforsingleobject等待mutex可用時使此執行緒獲取此mutex,當本執行緒已經獲取了這個mutex時,持續呼叫waitforsingleobject會立即返回,因為本執行緒已經獲取了這個mutex,因此不需要再等待了。
releasemutex使本執行緒釋放對mutex的占有,使得其它執行緒可以用waitforsingleobject占有這個mutex。
以下**嘗試開啟乙個指定名稱的mutex,如果失敗則建立此mutex。
handle mutex;
mutex = openmutex(mutex_all_access, false, text("memtest"));
if (mutex == null)
int err = getlasterror();
printf("error:%d\n", err);
if (mutex == null)
執行緒間互斥鎖
一 兩種使用方式 1.靜態方式 pthread mutex t mtx pthread mutex initializer 2.動態方式 include int pthread mutex init pthread mutex t mutex,const pthread mutexattr t at...
程序間同步 互斥量和檔案鎖
程序間也可以使用互斥鎖,來達到同步的目的。但應在pthread mutex init初始化之前,修改其屬性為程序間共享。mutex的屬性修改函式主要有以下幾個。主要應用函式 pthread mutexattr t mattr 型別 用於定義mutex鎖的 屬性 pthread mutexattr i...
程序間同步 互斥鎖與條件變數
include 互斥鎖 用於主動獲取共享資源時的互斥與等待 static pthread mutex t mutex pthread mutex initializer int pthread mutexattr init pthread mutexattr t int pthread mutexa...