Maison >développement back-end >C++ >Comment mettre à jour en toute sécurité une collection d'observable à partir d'un thread d'arrière-plan dans .NET 4.5?
La modification directe d'un ObservableCollection
à partir d'un thread de travail dans les applications WPF génère des exceptions. C'est une conséquence du modèle de thread de WPF, conçu pour maintenir la réactivité de l'interface utilisateur pendant les tâches en arrière-plan.
BindingOperations.EnableCollectionSynchronization
.NET 4.5 introduit une solution simplifiée : BindingOperations.EnableCollectionSynchronization
. Appelée depuis le fil de discussion de l'interface utilisateur, cette méthode :
CollectionChanged
les événements soient renvoyés vers le fil de discussion de l'interface utilisateur.Bien que EnableCollectionSynchronization
améliore considérablement la sécurité des threads, les développeurs doivent toujours adhérer aux meilleures pratiques :
ObservableCollection
, en utilisant le même mécanisme transmis à EnableCollectionSynchronization
.lock
instruction suffit souvent, mais une synchronisation personnalisée peut être nécessaire dans des scénarios complexes.EnableCollectionSynchronization
est crucial pour un bon fonctionnement. Ne pas le faire peut entraîner un comportement inattendu.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!