SORU
5 HAZİRAN 2010, CUMARTESİ


İş parçacığı güvenli koleksiyonlarında .NET

Bir iş parçacığı güvenli bir toplama (örneğin Set) gerektiğinde standart bugünlerde. Senkronize kendim yapacağım, ya da doğal olarak iş parçacığı güvenli bir koleksiyonu var mı?

CEVAP
5 HAZİRAN 2010, CUMARTESİ


.NET 4.0 Çerçeve birkaç tanıtır System.Collections.Concurrent Namespace iş parçacığı için güvenli bir koleksiyon:

ConcurrentBag<T>
Temsil eden nesneler güvenli iplik, sırasız bir koleksiyon.

ConcurrentDictionary<TKey, TValue>
Temsil eden anahtar-değer birden çok iş parçacığı tarafından erişilebilen bir çift eş zamanlı iş parçacığı için güvenli bir koleksiyon.

ConcurrentQueue<T>
Temsil evresel ilk giren-ilk çıkar (FIFO) bir koleksiyon.

ConcurrentStack<T>
Temsil bir iş parçacığı için güvenli son giren-ilk çıkar (FIFO) koleksiyonu.


Diğer koleksiyonlar .NET Çerçeve-güvenli iş parçacığı varsayılan değildir ve her işlem için kilitli olması gerekir:

lock (mySet)
{
    mySet.Add("Hello World");
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • Plugable

    Plugable

    19 Mayıs 2010
  • ŠĩŗĜŕôŵåɭȍҭҭ

    ŠĩŗĜŕô

    29 Kasım 2009