如何把 std::mutex 加入容器
时间: 2023-11-07 19:10:11 浏览: 207
可以使用 STL 的容器,如 vector 或 map,来存储 std::mutex 对象。示例代码如下:
```c++
#include <iostream>
#include <vector>
#include <mutex>
int main() {
std::vector<std::mutex> mutexes; // 定义一个存储 mutex 的 vector
for (int i = 0; i < 10; ++i) {
mutexes.emplace_back(); // 在 vector 尾部添加一个新的 mutex
}
for (int i = 0; i < 10; ++i) {
std::lock_guard<std::mutex> lock(mutexes[i]); // 对第 i 个 mutex 执行加锁
std::cout << "mutex " << i << " locked" << std::endl;
}
return 0;
}
```
在上述示例代码中,我们使用 vector 容器来存储 std::mutex 对象,并使用 emplace_back() 函数在 vector 尾部添加新的 mutex 对象。然后,我们可以根据需要对 vector 中的 mutex 对象进行加锁/解锁操作。
阅读全文