当前位置:首页 > Windows程序 > 正文

[Win32]互斥体

2024-03-31 Windows程序

内核级临界资源(跨进程),,互斥体可以看成能够放进内核(0环)中的一种令牌。

技术图片

HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD //安全描述符 BOOL bInitialOwner, // initial owner //创建出的互斥体有信号填写False LPCTSTR lpName // object name //内核互斥体名字随意起 );

两个程序同时执行,只有当第一个程序执行完毕后才会执行,也就是说第一个进程没有释放令牌的时候另外一个进程是处于堵塞的状态

int main(int argc, char* argv[]) { //创建互斥体 HANDLE g_hMutex = CreateMutex(NULL,FALSE,"XYZ"); //如果写true意味着当前的互斥体是属于当前这个进程的。 //获取令牌:有信号,线程的拥有者 WaitForSingleObject(g_hMutex,INFINITE); for(int i=0;i<10;i++) { Sleep(1000); printf("A进程的x线程:%d \n",i); } //释放令牌 ReleaseMutex(g_hMutex); return 0; }

技术图片

 

[Win32]互斥体

标签:

原文地址:https://www.cnblogs.com/websecyw/p/12983910.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/43605.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494595访问次数
  • 建站天数
  • 友情链接