![]() |
1
5
您的额外线程所做的只是将另一个调用封送回调度程序线程。想必你真的想 在额外的线程上,或者没有必要创建它。 理想情况下,您的额外线程应该适当地获取所有数据,只留下您在dispatcher线程中实际连接所有数据。重要的是决定你需要在UI线程上做哪些工作,以及你需要在后台线程上做哪些工作。 |
![]() |
2
2
显然你对这个问题的分析是正确的。您的视图模型在需要时懒洋洋地加载数据,直到Dispatcher回调时才会发生这种情况,此时您又回到UI线程上,并且一切都被锁定。 在我看来,解决方案是在数据访问层做线程:
对于总数等:同样的想法。当数据进入总量时,发生事件(对于DependencyProperty或使用INotifyPropertyChanged自动)。
请注意,有时在检索到实际数据之前,操作必须阻塞。我认为在这种情况下最简单的事情是在数据层提供方法来强制同步加载数据。 |
![]() |
3
0
你的
|
![]() |
user107586 · 如何处理等待句柄不会导致无限循环? 6 月前 |
![]() |
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 6 月前 |
![]() |
BenjiFB · C#内存缓存:在一次操作中追加到列表? 6 月前 |
![]() |
András Takács · Python多线程问题 10 月前 |
|
András Takács · Python多线程错误 10 月前 |