std::lock_guard 与 std::unique_lock
2024-09-01 11:57:09
std::lock_guard 与 std::unique_lock 对 mutex 进行自动加解锁。
mutex m;
void fun()
{
unique_lock<mutex> mlock(m);
}
unique_lock mlock(m);
线程没有 m 的所有权,根据块语句的循环实现自动加解锁。
线程根据 m 属性,来判断是否可以加锁、解锁。
void fun()
{
lock_guard<mutex> mlock(m);
}
lock_guard mlock(m);
线程拥有 m 的所有权,实现自动加解锁。
线程读取 m 失败时,则一直等待,直到读取成功。
线程会把 m 一直占有,直到当前线程完成才释放,其它线程才能访问。
最新文章
- spring-aop学习【基于注解】
- LoadRunner ERROR:Could not call flex.messaging.io.amf.ASObject.readObject() : Cannot parse date.
- nyoj 142, poj 1039 ,hdu 1454 管道问题
- [转]很详细的devexpress应用案例
- SqlBulkCopy 插入100W条数据时 属性BatchSize的作用
- Codeforces Round #353 (Div. 2) E. Trains and Statistic 线段树+dp
- 【Java】Eclipse导出jar包与javadoc
- 实现Linux下的ls -l命令
- 常见Web Service 使用网址
- Dynamic CRM 2013 on Windows Azure VM
- java中基本类型占用字节数
- web从入门开始(1)------简介
- JavaScript知识点整理 (二)
- wps 操作
- Exp4 恶意代码分析 ——20164325王晓蕊
- Django(十九)Ajax全套
- 大数据学习笔记02-HDFS-常用命令
- R语言学习 第四篇:函数和流程控制
- centos7下源码安装mysql5.7.16
- phonegap/cordova学习建议