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

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。

 

 

相关文章: