#include #include #include long g_count = 0;
long g_sum = 0;
static const int g_s_count = 10;
critical_section g_csthreadparamer;
critical_section g_csthreadcode;
handle g_threadevent;
handle g_threadmutex;
unsigned int winapi threadfunc(void *p)
int main(void)
waitformultipleobjects(g_s_count, threadhandle, true, infinite);
for(int i = 0; i < g_s_count; ++i)
deletecriticalsection(&g_csthreadcode);
std::cout << "thread ending" << std::endl;
return 0;
}
注:它與cs一樣,不能進行同步,都有執行緒擁有權。但是可以進行多程序執行緒同步。
如下例子:
執行緒一:
#include #include #include int main() ;
執行緒二:
int main(void)
dword dresult = waitforsingleobject(g_threadmutex, 10 * 1000);
switch (dresult)
closehandle(g_threadmutex);
return 0;
}
通過關掉進行或者正常結束進行都能很好的進行多程序中的執行緒同步。
多執行緒之互斥量(mutex) 鎖(lock)
private int counter 1 std condition variable cv1 std condition variable cv2 std mutex g mutex 多執行緒之互斥量 mutex 鎖 lock,unlock,lock guard g mutex.lock g m...
原 MFC多執行緒之互斥量Mutex
先看模擬火車售票的這個程式 include windows.h include 執行緒標頭檔案 dword winapi threadproc1 lpvoid lpparameter dword winapi threadproc2 lpvoid lpparameter int index 0 in...
多執行緒之七 經典執行緒同步 互斥量Mutex
前面介紹了 關鍵段cs 事件event 在經典執行緒同步問題 中的使用。本篇介紹用互斥量mutex 來解決這個問題。互斥量也是乙個核心物件,它用來確保乙個執行緒獨佔乙個資源的訪問。互斥量與關鍵段的行為非常相似,並且互斥量可以用於不同程序中的執行緒互斥訪問資源。使用互斥量mutex 主要將用到四個函式...