0
私は、異なるスレッドで汎用リストの使用法について質問したいと思います。一般的なリストオブジェクトがあります。同時に、別のスレッドがそのリストを追加、削除、取得、更新することがあります。私はその状況を以下のコードで処理しようとしています。それは大丈夫ですか ?または私は何かを逃している?別のスレッドでのGenericListの使用
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);
}
}