Изменения документа Асинхронность. Async Await
Редактировал(а) Alexandr Fokin 2025/04/09 12:46
<
>
отредактировано Alexandr Fokin
на 2022/07/29 03:51
на 2022/07/29 03:51
отредактировано Alexandr Fokin
на 2023/05/26 12:57
на 2023/05/26 12:57
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.NET.C#.Многопоточность.WebHome 1 +Разработка.NET.C#.Многопоточность и асинхронность.WebHome - Содержимое
-
... ... @@ -18,7 +18,7 @@ 18 18 |(% style="width:267px" %)TAP (Task-based asynchronous)|(% style="width:404px" %)((( 19 19 Task 20 20 Async Await 21 -[[SynchronizationContext | Контекст синхронизации>>Разработка.NET.C#.Многопоточность.Асинхронность\. Async Await.SynchronizationContext | Контекст синхронизации.WebHome]] 21 +[[SynchronizationContext | Контекст синхронизации>>Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.SynchronizationContext | Контекст синхронизации.WebHome]] 22 22 ))) 23 23 24 24 Шаблоны асинхронного программирования ... ... @@ -35,7 +35,7 @@ 35 35 |(% style="width:79px" %)Desktop|(% style="width:1443px" %)Позволяет не блокировать UI (зависание основного потока во время выполнения долгих операций). 36 36 Когда встречается реальная асинхронная операция UI Thread освобождается и идет обрабатывать другие события графического интерфейса. После того, как асинхронная операция будет завершена, код идущей за ней может продолжить выполнение в UI Thread. 37 37 |(% style="width:79px" %)Web|(% style="width:1443px" %)((( 38 -Позволяет обрабатывать больше активныхподключений. (Поток обрабатывает запрос, сталкивается с асинхронной операцией, освобождается и может обработать другие входящие запросы. При окончании асинхронной операции тот-же или другой поток продолжит выполнение).38 +Позволяет обрабатывать большее кол-во параллельных задач (запросов) меньшим кол-во потоков. (Поток обрабатывает запрос, сталкивается с асинхронной операцией, освобождается (возвращается в пул) и может обработать другие входящие запросы. При окончании асинхронной операции тот-же или другой поток продолжит выполнение). 39 39 40 40 Т.е. прирост не в скорости работы, а в пиковой нагрузке по кол-ву соединений, за счет освобождения потоков, ожидающих завершения асинхронных операций. 41 41 При этом присутствуют небольшие накладные расходы, связанные с работой Async/Await. ... ... @@ -43,23 +43,31 @@ 43 43 44 44 ---- 45 45 46 - [[SynchronizationContext| Контекст синхронизации>>Разработка.NET.C#.Многопоточность.Асинхронность\. Async Await.SynchronizationContext | Контекстсинхронизации.WebHome]]46 +==== Внутренние ссылки: ==== 47 47 48 - ----48 +====== Дочерние страницы: ====== 49 49 50 - ==== **Taskcompletionsource** ====50 +{{children/}} 51 51 52 - Taskcompletionsource- инструмент позволяющий преобразоватьнекоторыедругие виды асинхронногокода к формату паттерну TAP.52 +====== Обратные ссылки: ====== 53 53 54 -Материалы: 54 +{{velocity}} 55 +#set ($links = $doc.getBacklinks()) 56 +#if ($links.size() > 0) 57 + #foreach ($docname in $links) 58 + #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 59 + * [[$escapetool.xml($rdoc.fullName)]] 60 + #end 61 +#else 62 + No back links for this page! 63 +#end 64 +{{/velocity}} 55 55 56 -* В чем смысл TaskCompletionSource<T> и когда его лучше использовать? 57 -[[https:~~/~~/ru.stackoverflow.com/questions/780270/В-чем-смысл-taskcompletionsourcet-и-когда-его-лучше-использовать>>https://ru.stackoverflow.com/questions/780270/В-чем-смысл-taskcompletionsourcet-и-когда-его-лучше-использовать]] 58 - 59 59 ---- 60 60 61 -=== Материалы: === 68 +==== Материалы: ==== 62 62 70 +* [[Асинхронное программирование в C# 5.0 | O’Reilly>>doc:Книги.O’Reilly.Асинхронное программирование в C# 5\.0 | O’Reilly.WebHome]] 63 63 * Async/await в C#: концепция, внутреннее устройство, полезные приемы 64 64 [[https:~~/~~/habr.com/ru/post/470830/>>https://habr.com/ru/post/470830/||style="background-color: rgb(255, 255, 255);"]] 65 65 * Асинхронные методы, async и await