私は初めてです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 ;
}
};