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?