我是C++新手&多线程。最近看看Lock属性...C++多线程互斥锁问题
假设我有一个内部有互斥锁的类。当我在互斥对象上使用锁定方法时,如何知道编码的哪一部分被阻止/锁定?它会阻止/锁定类中的所有成员函数还是仅锁定我触发锁的成员函数?
例如(process_data & udf_2)
class data_wrapper
{
private:
int x;
some_data data;
std::mutex m;
public:
template<typename Function>
void process_data(Function func)
{
std::lock_guard<std::mutex> l(m);
......
}
void udf_2(int x)
{
cout << "Value is " << x;
......
}
}
=============================
===== ========================
还有一个问题是,如果我看到一个模板类型T,那么T &和T & &?
谢谢。
删除了C#标记。请仅使用与问题相关的标签。 – tnw