SortedList<TKey,TValue>.ICollection.SyncRoot SortedList<TKey,TValue>.ICollection.SyncRoot SortedList<TKey,TValue>.ICollection.SyncRoot Property

Definición

Obtiene un objeto que se puede usar para sincronizar el acceso a ICollection.Gets an object that can be used to synchronize access to the ICollection.

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

Valor de propiedad

Objeto que se puede usar para sincronizar el acceso a ICollection.An object that can be used to synchronize access to the ICollection. En la implementación predeterminada de SortedList<TKey,TValue>, esta propiedad siempre devuelve la instancia actual.In the default implementation of SortedList<TKey,TValue>, this property always returns the current instance.

Implementaciones

Comentarios

Las implementaciones predeterminadas System.Collections.Generic de las colecciones de no se sincronizan.Default implementations of collections in System.Collections.Generic are not synchronized.

Enumerar una colección no es intrínsecamente un procedimiento seguro para subprocesos.Enumerating through a collection is intrinsically not a thread-safe procedure. A fin de garantizar la seguridad de los subprocesos, se puede bloquear la colección durante toda la enumeración.To guarantee thread safety during enumeration, you can lock the collection during the entire enumeration. Para permitir que varios subprocesos obtengan acceso de lectura y escritura a la colección, debe implementar su propia sincronización.To allow the collection to be accessed by multiple threads for reading and writing, you must implement your own synchronization.

La SyncRoot propiedad devuelve un objeto que se puede utilizar para sincronizar el ICollectionacceso a.The SyncRoot property returns an object that can be used to synchronize access to the ICollection. La sincronización solo es efectiva si todos los subprocesos bloquean este objeto antes de tener acceso a la colección.Synchronization is effective only if all threads lock this object before accessing the collection. En el código siguiente se muestra el uso SyncRoot de la C#propiedad C++para, y Visual Basic.The following code shows the use of the SyncRoot property for C#, C++, and Visual Basic.

ICollection ic = ...;  
lock (ic.SyncRoot) {  
   // Access the collection.  
}  
Dim ic As ICollection = ...  
SyncLock ic.SyncRoot  
   ' Access the collection.  
End SyncLock  
ICollection^ ic = ...;  
try {  
   Monitor::Enter(ic->SyncRoot);  
   // Access the collection.  
}  
finally {  
   Monitor::Exit(ic->SyncRoot);  
}  

La recuperación del valor de esta propiedad es una operación O(1).Retrieving the value of this property is an O(1) operation.

Se aplica a

Consulte también: