2016-04-09 31 views
0

Farklı konulara genel liste kullanımı hakkında bir şey sormak istiyorum, sahip olduğum genel liste nesneleri var ve aynı zamanda farklı mesajlar bu listeyi ekleyebilir, kaldırabilir, alabilir veya güncelleyebilir. Bu durumu aşağıdaki kodla ele almaya çalışıyorum. Bu iyi mi ? ya da bir şey mi eksik?Farklı konu başlıklarıyla GenericList kullanımı

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);    
     } 
    } 

cevap

2

Evet. Bu iyi olacak. Size bir tavsiyede bulunayım, Eğer yazma (yazmayı ekle veya güncelle) yerine daha sık listeleniyorsa (bul veya çalıştır), okuma-yazma kilidini kullanın. Daha verimli ve daha stratejik olacak.