SynchronizationContext | Контекст синхронизации

Версия 4.2 от Alexandr Fokin на 2024/02/24 23:45
Предупреждение: Из соображений безопасности документ отображается в ограниченном режиме, поскольку это не текущая версия. Из-за этого могут быть расхождения и ошибки.

 Понятие контекста синхронизации.
 Не все типы приложений и фреймворки содержит такой компонент как контекст синхронизации.
Его основная цель - реализация механизма определения того, в каком потоке будет продолжаться выполнение кода после выхода из асинхронного ожидания (await).
 
// (По умолчанию)
ConfigureAwait(true)
Сообщает, что необходимо задействовать механизм контекста синхронизации для кода, идущего после выхода из данной асинхронной операции.
ConfigureAwait(false)Сообщает, что код, идущего после выхода из данной асинхронной операции, может быть выполнен в любом потоке из пула потоков.
 Например:
Во многих графических фреймворках менять состояние контролов можно только из UI Thread, если после асинхронной операции нам необходимо изменить контрол, то нужна гарантия того, что код будет выполнен в UI Thead, а не любом Thread из ThreadPool. Потоки и задачи 
 
Ссылки 

Внутренние ссылки:

Дочерние страницы:
Обратные ссылки:

Не удалось выполнить макрос [velocity]. Причина: [The execution of the [velocity] script macro is not allowed in [xwiki:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.SynchronizationContext | Контекст синхронизации.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Нажмите на это сообщение для получения подробной информации.