Редактировал(а) Alexandr Fokin 2024/02/24 23:46

<
От версии < 2.5 >
отредактировано Alexandr Fokin
на 2022/07/29 03:40
К версии < 2.3 >
отредактировано Alexandr Fokin
на 2022/07/29 03:28
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -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