CreateMutex详解–转

CreateMutex详解–转一、介绍原型HANDLECreateMutex(LPSECURITY_ATTRIBUTESlpMutexAttributes,//指向安全属性的指针BOOLbInitialOwner

大家好,又见面了,我是你们的朋友全栈君。

一、介绍

原型
HANDLE CreateMutex(
LPSECURITY_ATTRIBUTES lpMutexAttributes, // 指向安全属性的指针
BOOL bInitialOwner, // 初始化互斥对象的所有者
LPCTSTR lpName // 指向互斥对象名的指针
);

Windows API
二、功能

创建一个互斥器,互斥器的名字由 lpName 决定。该名字不要随意,要有独特性,因为跨进程加锁时识别互斥器的方法就是靠该名字。
lpMutexAttributes : 第一个参数表示安全控制,一般直接传入NULL。
bInitialOwner
(1)若为TRUE,互斥器对象内部会记录创建它的线程的线程ID号并将递归计数设置为1,由于该线程ID非零,所以互斥器处于未触发状态,表示互斥器为创建线程拥有,此时Mutex的状态是无信号的,其他线程中的WaitForSingleObject都将堵塞。
(2)若为FALSE,那么互斥量对象内部的线程ID号将设置为NULL,递归计数设置为0,这意味互斥器不为任何线程占用,处于触发状态。
也就是说,只有当递归计数为0时,该互斥器才属于触发状态,即:解锁。
创建成功,则返回互斥器的句柄,否则返回0。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155496.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月3日 下午8:16
下一篇 2022年7月3日 下午8:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号