Aracılığıyla paylaş


Queue<T>.ICollection.SyncRoot Özellik

Tanım

ICollectionerişimini eşitlemek için kullanılabilecek bir nesnesi alır.

property System::Object ^ System::Collections::ICollection::SyncRoot { System::Object ^ get(); };
object System.Collections.ICollection.SyncRoot { get; }
member this.System.Collections.ICollection.SyncRoot : obj
 ReadOnly Property SyncRoot As Object Implements ICollection.SyncRoot

Özellik Değeri

erişimi ICollectioneşitlemek için kullanılabilecek bir nesne. varsayılan uygulamasında Queue<T>bu özellik her zaman geçerli örneği döndürür.

Uygulamalar

Açıklamalar

içindeki System.Collections.Generic koleksiyonların varsayılan uygulamaları eşitlenmez.

Bir koleksiyonda numaralandırma, iş parçacığı açısından güvenli bir yordam değildir. Numaralandırma sırasında iş parçacığı güvenliğini garanti etmek için, tüm numaralandırma sırasında koleksiyonu kilitleyebilirsiniz. Koleksiyona okuma ve yazma için birden çok iş parçacığı tarafından erişilmesine izin vermek için kendi eşitlemenizi uygulamanız gerekir.

SyncRoot , öğesine erişimi ICollectioneşitlemek için kullanılabilecek bir nesne döndürür. Eşitleme yalnızca koleksiyona erişmeden önce tüm iş parçacıklarının bu nesneyi kilitlemesi durumunda geçerlidir. Aşağıdaki kod özelliğinin SyncRoot kullanımını gösterir.

ICollection ic = ...;
lock (ic.SyncRoot) {
   // Access the collection.
}
Dim ic As ICollection = ...
SyncLock ic.SyncRoot
   ' Access the collection.
End SyncLock

Bu özelliğin değerini almak bir O(1) işlemidir.

Şunlara uygulanır

Ayrıca bkz.