• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我是张洪铭我是熊博士
时光静好,与君同;细水长流,与君语
博客园    首页    新随笔    联系   管理    订阅  订阅

C++多线程库的常用类 std::mutex

格式:类名 + 头文件 + 用例 + 解释说明

1 类名: mutex
2 
3 头文件: #include <mutex>
4 
5 用例;
6 std::mutex m_mutex;

 解释说明: 

std::mutex C++提供的互斥量,用在多线程编程中,来保护共享数据。

C++中通过实例化std::mutex创建互斥量实例,通过成员函数lock()对互斥量上锁,unlock()进行解锁。因此被上锁的互斥量,确保能够被解锁非常关键, 不管是程序的各个逻辑分支,抑或是发生异常。

其实,实践中不推荐直接去调用 lock() 和 unlock() 成员函数,调用成员函数就意味着,必须在每个函数出口都要去调用unlock(),也包括异常的情况。而是通过别的手段,例如: std::lock_guard。

 

C++多线程库的常用模板类 std::lock_guard

 

posted @ 2021-10-22 11:28  我是张洪铭我是熊博士  阅读(457)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3