C++ recursive_mutex 学习笔记
1. 了解 C++ 中的递归互斥锁(recursive_mutex)
- 作用:递归互斥锁是互斥锁的一种特殊类型,允许同一个线程多次对同一个互斥锁进行加锁,而不会造成死锁。
- 优势:在需要递归调用或多层嵌套函数中使用互斥锁时,递归互斥锁可以简化代码,提高可读性和可维护性。
- 发展历程:C++11 引入了
std::recursive_mutex
类,用于支持递归互斥锁的操作。
示例代码:
#include <iostream>
#include <thread>
#include <mutex>
std::recursive_mutex rmtx;
void recursive_function(int count) {
rmtx.lock();
std::cout << "Mutex locked, count = " << count << std::endl;
if (count > 0) {
recursive_function(count - 1); // 递归调用
}
rmtx.unlock();
}
int main() {
recursive_function(5);
return 0;
}
2. 学习 C++ 中的递归互斥锁的多种应用场景
- 递归