11.互斥体 2026-7-26 Notes #滴水基础_Win32 互斥体123456789101112131415161718192021222324252627282930313233343536373839#include <handleapi.h>#include <minwindef.h>#include <stdio.h>#include <synchapi.h>#include <windows.h>#include <winnt.h>int main(int argc, char *argv[]) { //创建一个互斥体 HANDLE g_hMutex = CreateMutex(NULL,FALSE,"XYZ"); //获取令牌 WaitForSingleObject(g_hMutex, INFINITE); for (int i = 0; i < 10; i++) { Sleep(500); printf("A进程的X线程:%d \n",i); } ReleaseMutex(g_hMutex); return 0;}//新建一个文件运行int mainB(){ //创建一个互斥体 HANDLE g_hMutex = CreateMutex(NULL,FALSE,"XYZ"); //获取令牌 WaitForSingleObject(g_hMutex, INFINITE); for (int i = 0; i < 10; i++) { Sleep(500); printf("B进程的X线程:%d \n",i); } ReleaseMutex(g_hMutex); return 0;} 互斥体与线程锁的区别 线程锁只能用于单个进程间的线程控制 互斥体可以设定等待超时,但线程锁不能 线程意外终结时,Mutex可以避免无限等待 Mutex效率没有线程锁高 关于本文 由 GuQing 撰写,采用 CC BY-NC 4.0 许可协议。 阅读线路 沿“滴水基础_Win32”连续阅读 选择当前文章所属的标签或分类,并决定上下篇的排列顺序。 线路 滴水基础_Win32 Notes 顺序 最新优先 最早优先 标题 A→Z 标题 Z→A 滴水基础_Win32 · 第 19 / 30 篇 上一篇 14.消息队列 上一篇 本线路已到起点 下一篇 12.事件 下一篇 本线路已到终点