御世話になります、MSDNのC#の記事を読んでいて、わからないことがあったので質問します。
わからないこと
マルチスレッド環境で、下記コードを実行したとき、_dataは常に0になるのでしょうか。それとも、両方の変数がきちんと読まれる場合もあり、42を出力する場合もあるのでしょうか。
C#
1public class DataInit { 2 private int _data = 0; 3 private bool _initialized = false; 4 void Init() { 5 _data = 42; // Write 1 6 _initialized = true; // Write 2 7 } 8 void Print() { 9 if (_initialized) // Read 1 10 Console.WriteLine(_data); // Read 2 11 else 12 Console.WriteLine("Not initialized"); 13 } 14}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。