ICollection.IsSynchronized Özellik

Tanım

erişimin ICollection eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

C#
public bool IsSynchronized { get; }

Özellik Değeri

true erişimi ICollection eşitlenmişse (iş parçacığı güvenli); aksi takdirde , false.

Açıklamalar

SyncRoot , öğesine erişimi ICollectioneşitlemek için kullanılabilecek bir nesne döndürür.

Ad alanında çoğu koleksiyon sınıfı, temel koleksiyonun System.Collections çevresinde eşitlenmiş bir sarmalayıcı sağlayan Eşitlenmiş yöntemi de uygular.

Bir koleksiyon ile numaralandırma, aslında iş parçacığı açısından güvenli yordam değildir. Bir koleksiyon eşitlendiği zaman bile, diğer iş parçacıkları numaralandırıcının özel durum oluşturmasına neden olan koleksiyonu değiştirebilir. Numaralandırma sırasında iş parçacığı güvenliği sağlamak için tüm numaralandırma sırasında koleksiyonu kilitleyebilir veya diğer iş parçacıkları tarafından yapılan değişikliklerden kaynaklanan özel durumları yakalayabilirsiniz.

Aşağıdaki kod örneği, tüm numaralandırma sırasında özelliğini kullanarak SyncRoot koleksiyonun nasıl kilitlenmesini gösterir.

C#
ICollection myCollection = someCollection;
lock(myCollection.SyncRoot)
{
    foreach (object item in myCollection)
    {
        // Insert your code here.
    }
}

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Ayrıca bkz.