Изменения документа SynchronizationContext | Контекст синхронизации
                  Редактировал(а) Alexandr Fokin 2024/02/24 23:46
              
      
      От версии  1.1 
    
    
              отредактировано Alexandr Fokin
        
на 2020/07/16 21:09
     на 2020/07/16 21:09
      Изменить комментарий:
              К данной версии нет комментариев
          
         
      К версии  4.2 
    
    
              отредактировано Alexandr Fokin
        
на 2024/02/24 23:45
     на 2024/02/24 23:45
      Изменить комментарий:
              К данной версии нет комментариев
          
         Сводка
- 
          Свойства страницы (3 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
- 
      - Название
-   ... ... @@ -1,1 +1,1 @@ 1 -Synchronization context | Контекст синхронизации1 +SynchronizationContext | Контекст синхронизации 
- Родительский документ
-   ... ... @@ -1,1 +1,1 @@ 1 -Разработка.NET.C#.Многопоточность.WebHome 1 +Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.WebHome 
- Содержимое
-   ... ... @@ -1,6 +1,51 @@ 1 - 2 - 3 -Ссылки: 1 +| |Понятие контекста синхронизации. 2 +| |Не все типы приложений и фреймворки содержит такой компонент как контекст синхронизации. 3 +Его основная цель - реализация механизма определения того, в каком потоке будет продолжаться выполнение кода после выхода из асинхронного ожидания (await). 4 +| |((( 5 +|{{code language="c#"}}// (По умолчанию) 6 +ConfigureAwait(true){{/code}}|Сообщает, что необходимо задействовать механизм контекста синхронизации для кода, идущего после выхода из данной асинхронной операции. 7 +|{{code language="c#"}}ConfigureAwait(false){{/code}}|Сообщает, что код, идущего после выхода из данной асинхронной операции, может быть выполнен в любом потоке из пула потоков. 8 +))) 9 +| |Например: 10 +Во многих графических фреймворках менять состояние контролов можно только из UI Thread, если после асинхронной операции нам необходимо изменить контрол, то нужна гарантия того, что код будет выполнен в UI Thead, а не любом Thread из ThreadPool. [[Потоки и задачи>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Потоки и задачи.WebHome]] 11 +| |((( 12 +* ConfigureAwait FAQ 13 +[[devblogs.microsoft| ConfigureAwait FAQ>>url:https://devblogs.microsoft.com/dotnet/configureawait-faq/?utm_source=csharp&utm_medium=email&utm_campaign=digest]] 14 +* ConfigureAwait, кто виноват и что делать? 15 +[[https:~~/~~/habr.com/ru/company/clrium/blog/463587/>>url:https://habr.com/ru/company/clrium/blog/463587/]] 16 +* ConfigureAwait: часто задаваемые вопросы 17 +[[https:~~/~~/habr.com/ru/post/482354/>>url:https://habr.com/ru/post/482354/]] 18 +* SynchronizationContext — когда MSDN подводит 4 4 https://habr.com/ru/post/232169/ 20 +* IT - записки программиста: Контексты исполнения (ExecutionContext) и синхронизации (SynchronizationContext) - что это такое и с чем их едят ? 21 +http://alz-it.blogspot.com/2016/06/executioncontext-synchronizationcontext.html 22 +* Пишем свой SynchronizationContext 5 5 https://itnan.ru/post.php?c=1&p=269985 24 +))) 25 +|Ссылки| 6 6 27 +---- 28 + 29 +==== Внутренние ссылки: ==== 30 + 31 +====== Дочерние страницы: ====== 32 + 33 +{{children/}} 34 + 35 +====== Обратные ссылки: ====== 36 + 37 +{{velocity}} 38 +#set ($links = $doc.getBacklinks()) 39 +#if ($links.size() > 0) 40 + #foreach ($docname in $links) 41 + #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 42 + * [[$escapetool.xml($rdoc.fullName)]] 43 + #end 44 +#else 45 + No back links for this page! 46 +#end 47 +{{/velocity}} 48 + 49 +---- 50 + 51 + 
 
