У меня есть WPF ListView, который связан с коллекцией (List<T>
).В настоящее время он обновляется из текущего потока, который работает нормально.
Я хочу переместить логику для обновления списка в поток, и я вижу некоторые потенциальные проблемы, касающиеся безопасности потока и связывания списка.Могу ли я быть уверен, что привязка не будет обновлена, если я не позвоню NotifyPropertyChanged
?NotifyPropertyChanged
блокирующий вызов или он просто добавляет его в очередь сообщений;в этом случае, безусловно, может быть условие, при котором я сообщаю ListView
, что коллекция обновлена, но к тому времени, когда привязка обновится, я, возможно, изменю коллекцию в другом потоке, что вызовет исключение или завершит работу программы.
Каков наилучший метод для обеспечения безопасности потоков в таком сценарии?