我是新手,C++但我需要以多线程方式编写代码.在下面的代码中,如果Increase_value()由多个线程调用,那么确保Print_Value()打印最初增加的ID值的最有效方法是什么Increase_value().换句话说,如何确保在运行期间Print_Value()打印一系列数字而不会遗漏任何值(数字的顺序不是问题).可以使用C++11帮助中讨论的原子变量吗?
class foo
{
public:
static int ID;
void Increase_value()
{
ID++;
Print_Value (ID-1);
}
void Print_Value(int k)
{
cout << k ;
}
};
Run Code Online (Sandbox Code Playgroud)