Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Dictionary<TKey, TValue>.ICollection.SyncRoot propriété

 

Date de publication : novembre 2016

Obtient un objet qui peut être utilisé pour synchroniser l'accès à ICollection.

Espace de noms:   System.Collections.Generic
Assembly:  mscorlib (dans mscorlib.dll)

object ICollection.SyncRoot { get; }

Valeur de propriété

Type: System.Object

Objet qui peut être utilisé pour synchroniser l'accès à ICollection.

Les implémentations par défaut de collections dans l'espace de noms System.Collections.Generic ne sont pas synchronisées.

L'énumération d'une collection n'est intrinsèquement pas une procédure thread-safe. Pour garantir la sécurité des threads pendant l'énumération, vous pouvez verrouiller la collection tout au long de cette opération. Pour permettre à plusieurs threads d'accéder en lecture et en écriture à la collection, vous devez implémenter votre propre synchronisation.

Le SyncRoot propriété retourne un objet qui peut être utilisé pour synchroniser l’accès à la ICollection. La synchronisation est effective uniquement si tous les threads verrouillent l’objet avant d’accéder à la collection. Le code suivant illustre l’utilisation de la SyncRoot propriété pour c#, C++ et Visual Basic.

ICollection ic = ...;
lock (ic.SyncRoot) {
   // Access the collection.
}

Obtention de la valeur de cette propriété est une opération o (1).

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 2.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: