Я хочу понять использование потоков в различных типах приложений, и я немного удивлен, что WPF-приложения имеют еще 2 потока (помимо потока пользовательского интерфейса), которые Я не ожидал.
Я выполнил следующие действия:
- создать новое приложение WPF
- нажмите
F5
, чтобы запустить его в режиме отладки
- перейти к
Debug -> Windows -> Parallel Stacks
- нажмите
Break All
кнопку
- исследовать
Parallel Stacks
окно
Я ожидал получить один поток - поток пользовательского интерфейса, но вместо этого получил 3 потока:
![WPF default threads](https://i.stack.imgur.com/vOGxj.png)
Самым левым потоком является поток пользовательского интерфейса - который я ожидал все время, но Какие еще два потока используются для ? Я их не создавал - я только что сделал WPF-приложение без изменений - без изменений исходного кода, созданного мастером нового проекта.
Также как использовать функции , обозначенные красными стрелками на скриншоте выше:
ProtocolHandler.SendThread
ProtocolHandler.ReadThread
Я искал документацию, но не нашел много информации об этом. Я также пытался использовать их в коде позади, но нет никаких операторов использования для добавления - они просто не распознаются.