createmutex怎么用_create的用法和短语

createmutex怎么用_create的用法和短语HANDLE CreateMutex(LPSECURITY_ATTRIBUTES lpMutexAttributes, // 指向安全属性的指针BOOL bInitialOwner, // 初始化互斥对象的所有者LPCTSTR lpName // 指向互斥对象名的指针);1. CreateMutex只是创建了一把锁,  这把锁你用来锁门还是锁抽屉还是锁

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

1.  CreateMutex只是创建了一把锁,  这把锁你用来锁门还是锁抽屉还是锁你对象的内裤都由你自己决定。
2. lpName是指定这把锁的名字.  你要不给这把锁取个名字都可以.  只是有了相同的名字, 在跨进程加锁的时候, 就可以得到同一把锁。
3. HANDLE m_hMutex = CreateMutex(NULL,TRUE,”cplusplus_me”);   只是创建了一把锁, 到目前这句完成, 他没有锁任何东西。

//加锁
WaitForSingleObject(hMutex, INFINITE);  //还有其它函数可用, 详见MSDN中说明

//这里写被加锁的东西.  一般是操作一些共享数据(占用系统内存)。

//解锁
ReleaseMutex(hMutex);

/*通过写一个加锁的类来对共享的数据进行有效的安全控制,防止内存错误*/
class MTCMutex
{
public:
MTCMutex() :_mutex(NULL)
{
this->_mutex = CreateMutex(NULL, FALSE, NULL);
}
virtual ~MTCMutex()
{
if (this->_mutex)
{
CloseHandle(this->_mutex);
this->_mutex = NULL;
}
}
MTCMutex(const MTCMutex& mutex){ *this = mutex; }
MTCMutex& operator=(const MTCMutex& other)
{
if (this != &other)
{
this->_mutex = other._mutex;
}
return *this;
}
private:
HANDLE _mutex;


public:
void Lock()
{
WaitForSingleObject(this->_mutex, INFINITE);
}


void UnLock()
{
ReleaseMutex(this->_mutex);
}
};

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185732.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • dw网页设计怎么加背景音乐_dw网页如何设置背景音乐mp3

    dw网页设计怎么加背景音乐_dw网页如何设置背景音乐mp3本文以mid格式文件和mp3格式文件为例,教你如何在网页中插入背景音乐。1、MID是用来插入背景音乐,但只适用于IE,其参数设定不多。如下:src=”your.mid”:设定midi档案及路径,可以是相对或绝对。autostart=true:是否在音乐档下载完之后就自动播放。true是,false否(内定值)。loop=infinite:是否自动反复播放。LOOP=2表示重复两次…

  • 最新、最全、最准确的手机号正则表达式

    最新、最全、最准确的手机号正则表达式更新到2018年1月,支持最新的166号段/***手机号码正则表达式*/privatestaticfinalStringPHONE_NUMBER_REG="^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$";

  • html空格语言,html的空格代码是什么

    html空格语言,html的空格代码是什么html的空格代码是什么发布时间:2020-06-1716:00:48来源:亿速云阅读:253作者:元一html空格代码是为html空格字符代码,由“&+n+b+s+p+;”组成,记住最后一个分号不要忘记了。CSS中当white-space属性取值为pre时,浏览器会保留文本中的空格和换行,例如:AABB显示效果为:AABBCSS的letter-spacing属…

    2022年10月28日
  • 如何读取npy文件_mfc设置保存文件的类型

    如何读取npy文件_mfc设置保存文件的类型npy文件既可以保存数据也可以保存数据集(包括图片)下面只说保存简单数据实例:使用npy文件保存g_D_loss的数据,g_D_loss是一个元组,已经存入数据。withopen(‘./g_D_loss.npy’,’wb’)asf:np.save(f,g_D_loss)读取:file=”./g_D_loss.npy”…

  • jedispool是什么_netpoll

    jedispool是什么_netpoll遇到的问题:一开始做项目一直用的是jedis对象连接,今天发现自己上线的项目抛出了异常:JedisConnectionException:java.Net.SocketTimeoutException:Readtimed和和java.lang.ClassCastException:[Bcannotbecasttojava.util.List。异常解释:jedis的默认读取时…

  • getdate()方法_formatdatetime函数

    getdate()方法_formatdatetime函数今天看博客看到了一个关于字符串处理的方法,突然就想到可以用来格式化数据,相比之前我是用判断然后用字符串拼接的方法,比较繁琐,感觉这样做会更加好些。1.str0.padStart(length,str1),将指定字符串str1按照长度填充到字符串str0的头部2.关于月份month和日day为个位数的处理如下:varnowTime=newDate()varnowMonth=String(nowTime.getMonth()+1).padStart(2,’0′)…

发表回复

您的电子邮箱地址不会被公开。

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