Wpf 关于次要GUI线程中的Dispatcher、TaskScheduler和SynchronizationContext的混淆
由于另一篇帖子(请参阅:),我对WPF中次要GUI(GUI位于各自线程上)中Dispatcher、TaskScheduler、SynchronizationContext的角色和使用感到非常困惑。我可以在不同的线程上创建另一个GUI窗口。请参阅我引用的stackoverflow帖子,或者讨论您可能希望如何/为什么这样做。然而,我只是简单地使用了MainWindow调度程序、SynchronizationContext和TaskScheduler。具体而言,在新GUI的threadproc中,我只有:Wpf 关于次要GUI线程中的Dispatcher、TaskScheduler和SynchronizationContext的混淆,wpf,dispatcher,synchronizationcontext,Wpf,Dispatcher,Synchronizationcontext,由于另一篇帖子(请参阅:),我对WPF中次要GUI(GUI位于各自线程上)中Dispatcher、TaskScheduler、SynchronizationContext的角色和使用感到非常困惑。我可以在不同的线程上创建另一个GUI窗口。请参阅我引用的stackoverflow帖子,或者讨论您可能希望如何/为什么这样做。然而,我只是简单地使用了MainWindow调度程序、SynchronizationContext和TaskScheduler。具体而言,在新GUI的threadproc中,我只
public void AltWinThreadProc()
{
// Create our context, and install it:
SynchronizationContext.SetSynchronizationContext(
new DispatcherSynchronizationContext(
Dispatcher.CurrentDispatcher));
_altWindow = new AltThreadWindow(_ui); // _ui = TaskScheduler.FromCurrentSynchronizationContext();
//_altWindow = new AltThreadWindow();
_altWindow.Show();
System.Windows.Threading.Dispatcher.Run();
}
当我试图在第二个线程的新GUI中创建TaskScheduler时,一切都不起作用。单独线程上的GUI不应该有自己的调度程序和TaskScheduler吗 我已经搜索了此信息,但没有结果。我不能说我在做这件事上有问题。一切都很好。但我想知道发生了什么。明确地: 1.真的只有一个UI任务调度器吗? 2.只有一个UI调度器? 3.是否有人可以解释(或提供链接)Dispatcher、TaskScheduler和SynchronizationContext之间的连接 谢谢 戴夫