博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
std::mutex 和 std::lock_guard 小例子
阅读量:2383 次
发布时间:2019-05-10

本文共 440 字,大约阅读时间需要 1 分钟。

参考:

 

Linux下,固然我们可以用 pthread_mutex_t 及 pthread_mutex_lock/unlock 来做多线程同步,但是通常要自己再封装一下,比如像。但是,C++ 11 支持更简洁优雅的做法:

 

// global mutexstd::mutex mutex;void f(){    // lock mutex    std::lock_guard
lock(mutex); //do something might throw exception //... //do not unlock mutex, it will be unlocked by lock_guard destructor }

除了 std::mutex,还有 std::recursive_mutex 等,和 pthread_mutex_t 的各种类型相对应。

相比pthread_mutex_t,用 stl 写出来的代码更简洁和通用。

转载地址:http://ewdab.baihongyu.com/

你可能感兴趣的文章
hadoop 完全分布式环境搭建
查看>>
HDFS 回收站
查看>>
hadoop 完全分布式HA高可用集群(手工切换)搭建
查看>>
hadoop 完全分布式HA高可用集群(自动切换)搭建
查看>>
Hbase shell常见命令
查看>>
看看这同一句sql,scan index占用的资源大了很多!!
查看>>
couldn't set locale correctly报错解决
查看>>
回收基表的空间,造成物化视图只刷新了一部分数据
查看>>
ORA-12052,不能建立快速刷新物化视图的解决
查看>>
物化视图comlete刷新会产生大量的日志
查看>>
Mysql cluster slave server的自动检测与修复
查看>>
solaris同步时钟
查看>>
mysql升级
查看>>
V$sql_text v$sqlarea v$sql 的区别
查看>>
Redis 集群功能说明
查看>>
oracle11gR2在RedHat5上前期安装配置脚本
查看>>
sar的用法
查看>>
Cocos2dx3.2从零开始【四】继续。
查看>>
Unable to execute dex: Multiple dex files define 解决方法
查看>>
Cocos2dx3.2从零开始【五】
查看>>