Concurrent HashSet <T> w .NET Framework?
Mam następującą klasę.
class Test{
public HashSet<string> Data = new HashSet<string>();
}
Muszę zmienić pole „Dane” z różnych wątków, więc chciałbym uzyskać kilka opinii na temat mojej obecnej bezpiecznej implementacji wątku.
class Test{
public HashSet<string> Data = new HashSet<string>();
public void Add(string Val){
lock(Data) Data.Add(Val);
}
public void Remove(string Val){
lock(Data) Data.Remove(Val);
}
}
Czy istnieje lepsze rozwiązanie, aby przejść bezpośrednio do pola i chronić go przed jednoczesnym dostępem przez wiele wątków?