【发布时间】:2010-08-06 11:19:11
【问题描述】:
我有一个绑定到集合 (List<T>) 的 WPF ListView。它目前是从当前线程更新的,可以正常工作。
我想将更新列表的逻辑移动到一个线程中,并且我看到了一些关于线程安全和列表绑定的潜在问题。除非我打电话给NotifyPropertyChanged,否则我可以保证不会更新绑定吗? NotifyPropertyChanged 是阻塞调用还是只是将其添加到消息队列中;在这种情况下,我肯定会告诉ListView 集合已更新,但是当绑定更新时,我可能正在修改另一个线程中的集合,这将引发异常或使程序崩溃。
在这种情况下实现线程安全的最佳方法是什么?
【问题讨论】:
标签: c# wpf multithreading data-binding concurrency