Изменения документа SynchronizationContext | Контекст синхронизации
Редактировал(а) Alexandr Fokin 2024/02/24 23:46
<
>
отредактировано Alexandr Fokin
на 2023/01/11 15:17
на 2023/01/11 15:17
отредактировано Alexandr Fokin
на 2022/07/29 03:38
на 2022/07/29 03:38
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.NET.C#.Многопоточность и асинхронность2.Асинхронность\. Async Await.WebHome1 +Разработка.NET.C#.Многопоточность.Асинхронность\. Async Await.WebHome - Содержимое
-
... ... @@ -11,24 +11,20 @@ 11 11 )))|Сообщает, что необходимо задействовать механизм контекста синхронизации для кода, идущего после выхода из данной асинхронной операции. 12 12 |{{code language="c#"}}ConfigureAwait(false){{/code}}|Сообщает, что код, идущего после выхода из данной асинхронной операции, может быть выполнен в любом потоке из пула потоков. 13 13 14 -Например во многих графических фремворках менять состояние контролов можно только из UI Thread, если после асинхронной операции нам необходимо изменить контрол, то нужна гарантия того, что код будет выполнен в UI Thead, а не любом Thread из ThreadPool. [[Потоки и задачи>>doc:Разработка.NET.C#.Многопоточность и асинхронность2.Потоки и задачи.WebHome]]14 +Например во многих графических фремворках менять состояние контролов можно только из UI Thread, если после асинхронной операции нам необходимо изменить контрол, то нужна гарантия того, что код будет выполнен в UI Thead, а не любом Thread из ThreadPool. [[Потоки и задачи>>doc:Разработка.NET.C#.Многопоточность.Потоки и задачи.WebHome]] 15 15 16 16 ---- 17 17 18 18 === DeadLock при async await. === 19 19 20 -В некоторых случаях при неправильном использовании возможны ситуации, которая приводит к взаимной блокировке потока и зависанию приложения. 20 +В некоторых случаях при неправильном использовании возможны ситуации, когда есть контекст синхронизации (UI контекст основного ui потока, ASP контекст запроса) 21 +ConfigureAwait - указывает на то, должны ли операции продожаться в том же контексте после завершения await (или же они могут быть выполнены в любом контексте) 22 +[[devblogs.microsoft| ConfigureAwait FAQ>>url:https://devblogs.microsoft.com/dotnet/configureawait-faq/?utm_source=csharp&utm_medium=email&utm_campaign=digest]] 21 21 22 22 ---- 23 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 -* ConfigureAwait, кто виноват и что делать? 29 -[[https:~~/~~/habr.com/ru/company/clrium/blog/463587/>>url:https://habr.com/ru/company/clrium/blog/463587/]] 30 -* ConfigureAwait: часто задаваемые вопросы 31 -[[https:~~/~~/habr.com/ru/post/482354/>>url:https://habr.com/ru/post/482354/]] 32 32 * SynchronizationContext — когда MSDN подводит 33 33 https://habr.com/ru/post/232169/ 34 34 * IT - записки программиста: Контексты исполнения (ExecutionContext) и синхронизации (SynchronizationContext) - что это такое и с чем их едят ?