0 c# wpf multithreading dispatcher
我试图将调度程序包装在一个线程中.但结果并不是我所期待的.我该如何解决这个问题?
public void Start()
{
ThreadStart ts = inner;
Thread wrapper = new Thread(ts);
wrapper.Start();
}
private void inner()
{
_Runner.Dispatcher.Invoke(_Runner.Action, DispatcherPriority.Normal);
}
Run Code Online (Sandbox Code Playgroud)
你没有向我们展示足够的代码/解释自己能够提供一个好的答案,但我猜你的行动(_Runner.Action)是昂贵的,执行缓慢.如果是这样,那就是您的UI没有响应的原因.你实际上是在告诉Dispatcher在UI线程上运行那个昂贵的操作,当你真正想要做的是在后台线程上运行尽可能多的操作时,然后Dispatcher只在必要时编组回UI线程.
| 归档时间: |
|
| 查看次数: |
9137 次 |
| 最近记录: |