Изменения документа SynchronizationContext | Контекст синхронизации
Редактировал(а) Alexandr Fokin 2024/02/24 23:46
<
>
отредактировано Alexandr Fokin
на 2022/07/29 03:40
на 2022/07/29 03:40
отредактировано Alexandr Fokin
на 2022/07/29 03:28
на 2022/07/29 03:28
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,33 +24,10 @@ 1 -=== Понятие контекста синхронизации. === 2 - 3 -Не все типы приложений и фреймворки содержит такой компонент как контекст синхронизации. 4 -Его основная цель - реализация механизма определения того, в каком потоке будет продолжаться выполнение кода после выхода из асинхронного ожидания (await). 5 - 6 - 7 -| | 8 -|{{code language="c#"}}// (По умолчанию) 9 -ConfigureAwait(true){{/code}}((( 10 - 11 -)))|Сообщает, что необходимо задействовать механизм контекста синхронизации для кода, идущего после выхода из данной асинхронной операции. 12 -|{{code language="c#"}}ConfigureAwait(false){{/code}}|Сообщает, что код, идущего после выхода из данной асинхронной операции, может быть выполнен в любом потоке из пула потоков. 13 - 14 -Например во многих графических фремворках менять состояние контролов можно только из UI Thread, если после асинхронной операции нам необходимо изменить контрол, то нужна гарантия того, что код будет выполнен в UI Thead, а не любом Thread из ThreadPool. [[Потоки и задачи>>doc:Разработка.NET.C#.Многопоточность.Потоки и задачи.WebHome]] 15 - 16 ----- 17 - 18 -=== DeadLock при async await. === 19 - 20 -В некоторых случаях при неправильном использовании возможны ситуации, которая приводит к взаимной блокировке потока и зависанию прилоежния. 21 - 22 ----- 23 - 24 24 === Ссылки: === 25 25 26 -* ConfigureAwait FAQ 27 -[[devblogs.microsoft| ConfigureAwait FAQ>>url:https://devblogs.microsoft.com/dotnet/configureawait-faq/?utm_source=csharp&utm_medium=email&utm_campaign=digest]] 28 -* SynchronizationContext — когда MSDN подводит 3 +SynchronizationContext — когда MSDN подводит 29 29 https://habr.com/ru/post/232169/ 30 -* IT - записки программиста: Контексты исполнения (ExecutionContext) и синхронизации (SynchronizationContext) - что это такое и с чем их едят ? 5 + 6 +IT - записки программиста: Контексты исполнения (ExecutionContext) и синхронизации (SynchronizationContext) - что это такое и с чем их едят ? 31 31 http://alz-it.blogspot.com/2016/06/executioncontext-synchronizationcontext.html 32 -* Пишем свой SynchronizationContext 8 + 9 +Пишем свой SynchronizationContext 33 33 https://itnan.ru/post.php?c=1&p=269985