Essa classe deve usar o bloqueio de dados para multiencadeamento?
Eu tenho uma classe que contém alguns dados e há muitos threads usá-lo:
class MyClass
{
static Dictionary<Key, Value> MyData;
static IEnumerable<Data> Data
{
get
{
return MyData.Values;
}
}
static void Reset()
{
MyData = GetMyData();
}
}
Em algum momento (digamos uma vez por dia), o método Reset é chamado. Não quero adicionar bloqueio por causa do desempenho, mas não tenho certeza se tudo funcionará sem ele.
A pergunta é: devo usar qualquer tipo de bloqueio nesta classe?