C++ lock_guard 互斥锁

概述

根据对象的析构函数自动调用的原理,c++11推出了std::lock_guard自动释放锁,其原理是:声明一个局部的lock_guard对象,在其构造函数中进行加锁,在其析构函数中进行解锁。最终的结果就是:在定义该局部对象的时候加锁(调用构造函数),出了该对象作用域的时候解锁(调用析构函数)。

使用方法

1.首先需要包含mutex头文件

2.然后创建一个锁 std::mutex mutex

3.在需要被加锁的作用域内 将mutex传入到创建的std::lock_guard局部对象中

1 #include <mutex>    /*std::mutex、 std::lock_guard*/
 2  
 3 std::mutex mutex;  
 4 
 5 void func() 
 6 {
 7      //lock_guard 互斥锁 作用域内不可拷贝构造
 8      {
 9          std::lock_guard<std::mutex> lg(m_mutex);
10          //函数内容
11      }
12 }


原文链接: https://www.cnblogs.com/ybqjymy/p/12357617.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/193511

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午6:23
下一篇 2023年2月12日 下午6:23

相关推荐