Как получить задачу, использующую SynchronizationContext? И как вообще используется SynchronizationContext?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить задачу, использующую SynchronizationContext? И как вообще используется SynchronizationContext?

Сообщение Anonymous »

Я все еще изучаю всю концепцию 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»