进程一:
HANDLE g_hMutex = CreateMutex(NULL,FALSE, "XYZ");
进程二:
HANDLE g_hMutex = OpenMutex(MUTEX_ALL_ACCESS,FALSE, "XYZ");
WaitForSingleObject(g_hMutex,INFINITE);//互斥体本身是一个已通知量,此处得到后被置为未通知
//逻辑代码
ReleaseMutex(g_hMutex);//重新置为已通知
进程三:
HANDLE g_hMutex = OpenMutex(MUTEX_ALL_ACCESS,FALSE, "XYZ");
WaitForSingleObject(g_hMutex,INFINITE);
//逻辑代码
ReleaseMutex(g_hMutex);
互斥体与临界区的区别:
1、临界区只能用于单个进程间的线程控制.
2、互斥体可以设定等待超时,但临界区不能.
3、线程意外终结时,Mutex可以避免无限等待.
4、Mutex效率没有临界区高.
互斥体
最新推荐文章于 2022-05-06 16:43:38 发布
本文介绍了互斥体的基本使用方法,并通过进程间共享资源的实例展示了互斥体如何帮助实现同步控制。此外,文章还详细比较了互斥体与临界区在并发编程中的不同特点。
244

被折叠的 条评论
为什么被折叠?



