C# で排他制御をしたい場合いくつか方法があります。何も考えずに雑にlock構文を書くだけで同期は取れるのですが、より高度にパフォーマンスチューニングしたい場合のため、効率的な方法を紹介します。 例えば以下のようなものがあるとします。 // スレッドセーフではないもの public static class Foo { private static int[] _array = new int[10]; private static int _updateCount; public static void SetValue(int index, int value) { _array[index] = value; _updateCount++; } public static (int value, int updateCount) GetValue(int index) { retur