Является ли поток пользовательского интерфейса и поток диспетчера одинаковыми в WPF или есть какая-то разница?
В чем разница между потоком диспетчера и потоком пользовательского интерфейса
Ответ 1
A Dispatcher отвечает за управление работой для потока.
Нить UI - это поток, который отображает пользовательский интерфейс.
Очереди потоков пользовательского интерфейса обрабатывают элементы внутри объекта, называемого диспетчером. Диспетчер выбирает рабочие элементы в приоритетном порядке и запускает каждый один до завершения. Каждый поток пользовательского интерфейса должен иметь как минимум один диспетчер, и каждый диспетчер может выполнять рабочие элементы только в одном потоке.
Ответ 2
Нить UI - это общий термин (он не специфичен для WPF) и описывает поток, с которым связаны компоненты пользовательского интерфейса. Обычно для каждого приложения существует только один поток пользовательского интерфейса (в этом случае он называется потоком пользовательского интерфейса), но может быть и больше, если разные компоненты пользовательского интерфейса (как правило, окна) связаны с разными потоками.
Dispatcher
- это механизм, который WPF использует для связывания компонента с потоком и для выполнения работы над этим потоком. Но также может быть поток с Dispatcher
, но не связанный с ним компонент пользовательского интерфейса. В этом случае это поток диспетчера, но не поток пользовательского интерфейса.