Wpf 关于次要GUI线程中的Dispatcher、TaskScheduler和SynchronizationContext的混淆

Wpf 关于次要GUI线程中的Dispatcher、TaskScheduler和SynchronizationContext的混淆,wpf,dispatcher,synchronizationcontext,Wpf,Dispatcher,Synchronizationcontext,由于另一篇帖子(请参阅:),我对WPF中次要GUI(GUI位于各自线程上)中Dispatcher、TaskScheduler、SynchronizationContext的角色和使用感到非常困惑。我可以在不同的线程上创建另一个GUI窗口。请参阅我引用的stackoverflow帖子,或者讨论您可能希望如何/为什么这样做。然而,我只是简单地使用了MainWindow调度程序、SynchronizationContext和TaskScheduler。具体而言,在新GUI的threadproc中,我只

由于另一篇帖子(请参阅:),我对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之间的连接

谢谢

戴夫