Я все еще изучаю всю концепцию Task и TPL. Насколько я понимаю, функции SynchronizationContext (если они есть) используются await для отправки задачи «куда-то». С другой стороны, функции класса Task не используют контекст, верно?
Так, например, Task.Run(...)< /code> всегда будет отправлять действие в рабочий поток пула потоков и полностью игнорировать SynchronizationContext.Current. await Foobar() будет использовать контекст для выполнения сгенерированной задачи после await?
Если это правда, мой вопрос: как могу ли я получить задачу, которая фактически запускает действие, но отправляется с использованием SynchronizationContext.Current.Send/Post?
И может ли кто-нибудь порекомендовать хорошее введение в SynchronizationContext, особенно когда и как они используются остальной частью платформы? MSDN, похоже, хранит молчание об этом классе. Лучшие хиты Google (здесь и здесь), похоже, предназначены только для диспетчеризации Windows Forms. Стивен Клири написал статью, из которой приятно узнать, какие контексты уже существуют и как они работают, но мне не хватает понимания того, где и когда они на самом деле используются.
Подробнее здесь: https://stackoverflow.com/questions/169 ... onizationc
Как получить задачу, использующую SynchronizationContext? И как вообще используется SynchronizationContext? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Если я отправляю DLL, использующую библиотеку IPP, должен ли я также отправлять DLL IPP?
Anonymous » » в форуме C++ - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-