Relações do Dispatcher to Thread no WPF
Não está totalmente claro para mim quantos Dispatchers existem em um aplicativo e como eles estão relacionados ou referenciados nos Threads.
Pelo que entendi, um aplicativo WPF possui 2 threads (um para entrada e outro para UI) e 1 despachante (associado ao UI-Thread). E se eu criar outro thread - vamos chamá-lo de "thread de trabalho" - quando eu chamarDispatcher.CurrentDispatcher
no segmento de trabalho, qual expedidor receberei?
Outro caso: suponha um aplicativo de console com 2 threads - o thread principal e um thread de entrada. No thread principal, primeiro crio o thread de entrada e depois chamoApplication.Run()
Thread thread = new Thread(new ThreadStart(UserInputThreadFunction));
thread.Start();
Application.Run();
Haverá um despachante, certo? No thread de entrada, Dispatcher.CurrentDispatcher retorna o distribuidor do thread principal? Ou qual é a maneira correta de obter uma instância para o despachante do thread principal?
Pode ser que haja mais de um expedidor em um aplicativo WPF? Existe algum caso, faria sentido criar outro expedidor?