Windows程序間互斥鎖

2021-06-22 10:07:08 字數 675 閱讀 3437

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...