我的应用程序中存在一个计时器,该计时器导致过多的线程锁定,因此我决定将计时器替换为循环运行的任务。现在,使用任务时,我的UI属性无法正确更新。我认为这是一个线程问题,因此我将UI更新移出了任务并使用了await,但是UI仍然无法正常工作。在调试中,我将代码跟随到UI上,并且它位于具有正确数据的主线程上,但是UI从未更新。症状是冻结的UI和不断增长的进程内存。我不知道如何解决此问题。也许有人可以提供帮助?
line ABC: 172.0.20.30: No such file or directory
line ABC: 678.0.0.10: No such file or directory
答案 0 :(得分:0)
Reactive extensions似乎是更适合这种用法的库:
Observable
.Interval(TimeSpan.FromSeconds(1), ThreadPoolScheduler.Instance)
.Do(_ => MoveAxes())
.SubscribeOn(DispatcherScheduler.Current)
.Subscribe(_ => UpdateUi());