我有两个线程(第一个用于读取,第二个用于写入)和一个共享资源(例如数组)。如何保护线程间的资源? (阻止读取,而第二个线程进行写入)(抱歉英语不好)
最佳答案
std::mutex包裹在 std::lock_guard是多线程新手最简单的方法。
像这样:
class Resource {
public:
T Read() {
std::lock_guard<std::mutex> lock(m_mutex);
// read
}
T Write() {
std::lock_guard<std::mutex> lock(m_mutex);
// write
}
private:
std::mutex m_mutex;
};
关于c++ - 锁定资源(线程,C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40831845/