C#のマルチスレッドのプログラミングです。

変数がいくつかある。例えばこんな感じ。
int A;
int B;
・
・
int Z;
で、スレッド�@で定期的にA〜Zの変数の値を更新している。

スレッド�Aからこれら変数を読みたいのだが、必ずA〜Zまで全部更新された状態で読みたい。
(つまりスレ�@が更新処理中に読みに行くのはアウトってこと。)

優先度が高いのはスレ�@です。

どうやれば“スマート”なんでしょう?
変数を更新している間スレ�@以外の実行を止めるような仕掛けがあるんじゃないかと思って探したんだけど無さそうだね。