Ich möchte diese Sache über generische Listenverwendung mit verschiedenen Threads fragen, gibt es generische Liste Objekte, die ich habe, und gleichzeitig verschiedene Threads hinzufügen, entfernen, erhalten oder aktualisieren Sie diese Liste. Ich versuche, diese Situation mit Code unten zu behandeln. Ist das in Ordnung ? oder verpasse ich etwas?GenericList Verwendung mit verschiedenen Threads
public static TSource FirstOrDefaultThreadSafe<TSource>(this List<TSource> source, Func<TSource, bool> predicate) where TSource:new()
{
TSource result=new TSource();
lock (source)
{
result = source.FirstOrDefault(predicate);
}
return result;
}
public static void AddThreadSafe<T>(this List<T> sourceList, T item)
{
lock (sourceList)
{
sourceList.Add(item);
}
}