Sollte diese Klasse die Datensperrung für Multithreading verwenden?

Ich habe eine Klasse, die einige Daten enthält und von vielen Threads verwendet wird:

class MyClass
{
    static Dictionary<Key, Value> MyData;

    static IEnumerable<Data> Data
    {
        get
        {
            return MyData.Values;
        }
    }

    static void Reset()
    {
         MyData = GetMyData();
    }
}

Manchmal (etwa einmal am Tag) wird die Reset-Methode aufgerufen. Ich möchte wegen der Leistung keine Sperren hinzufügen, bin mir aber nicht sicher, ob alles ohne sie funktioniert.

Die Frage ist: Soll ich irgendeine Art von Sperre in dieser Klasse verwenden?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage