Heim >Backend-Entwicklung >C++ >Wie aktualisiere ich eine Beobachtungsvorschriften sicher von einem Hintergrund -Thread in .NET 4.5?
Das direkte Ändern eines ObservableCollection
aus einem Arbeitsthread in WPF-Anwendungen löst Ausnahmen aus. Dies ist eine Folge des Threading-Modells von WPF, das darauf ausgelegt ist, die Reaktionsfähigkeit der Benutzeroberfläche bei Hintergrundaufgaben aufrechtzuerhalten.
BindingOperations.EnableCollectionSynchronization
.NET 4.5 führt eine optimierte Lösung ein: BindingOperations.EnableCollectionSynchronization
. Diese Methode wird vom UI-Thread aufgerufen:
CollectionChanged
Ereignisse zurück zum UI-Thread gemarshallt werden.Während EnableCollectionSynchronization
die Thread-Sicherheit erheblich verbessert, müssen Entwickler dennoch die Best Practices einhalten:
ObservableCollection
ändern, und verwenden Sie dabei denselben Mechanismus, der an EnableCollectionSynchronization
übergeben wurde.lock
Anweisung reicht oft aus, in komplexen Szenarien kann jedoch eine benutzerdefinierte Synchronisierung erforderlich sein.EnableCollectionSynchronization
ist für die ordnungsgemäße Funktionalität von entscheidender Bedeutung. Andernfalls kann es zu unerwartetem Verhalten kommen.Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine Beobachtungsvorschriften sicher von einem Hintergrund -Thread in .NET 4.5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!