Dispatcher to Thread-Beziehungen in WPF

Es ist mir nicht ganz klar, wie viele Disponenten gibt es in einer Anwendung und wie Sie verbunden sind, oder über einen Verweis von Threads.

Wie ich es verstehe, eine WPF-Anwendung hat 2 threads (einer für die Eingabe, das andere für das UI) und 1 Disponent (in Verbindung mit der UI-Thread). Was ist, wenn ich einem anderen thread - wir nennen Sie "worker-Threads" - wenn ich rufe Dispatcher.CurrentDispatcher auf der worker-thread, der dispatcher würde ich bekommen?

Einem anderen Fall:
Übernehmen Sie eine Konsole-Anwendung mit 2 threads - der Haupt-thread, und ein Eingabe-thread. Auf dem Haupt-thread, den ich erstellen Sie zuerst den Eingangs-thread und dann rufe ich Application.Run()

Thread thread = new Thread(new ThreadStart(UserInputThreadFunction));
thread.Start();
Application.Run();

Gibt es ein dispatcher, richtig? Auf der Eingangs-thread, tut Dispatcher.CurrentDispatcher Rückkehr der dispatcher der Haupt-thread? Oder was ist der richtige Weg, um eine Instanz der main-thread-dispatcher?

Könnte es sein, dass es mehr als einen dispatcher in eine WPF-Anwendung? Ist es jedem Fall, würde es Sinn machen, erstellen Sie einen anderen dispatcher?

InformationsquelleAutor der Frage j00hi | 2011-02-16

Schreibe einen Kommentar