Изменения документа Асинхронность. Async Await
Редактировал(а) Alexandr Fokin 2025/04/09 12:46
<
>
отредактировано Alexandr Fokin
на 2022/12/31 15:31
на 2022/12/31 15:31
отредактировано 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. ... ... @@ -65,19 +65,8 @@ 65 65 66 66 ---- 67 67 68 -==== Taskcompletionsource====68 +==== Материалы: ==== 69 69 70 -Taskcompletionsource - инструмент позволяющий преобразовать некоторые другие виды асинхронного кода к формату паттерну TAP. 71 - 72 -Материалы: 73 - 74 -* В чем смысл TaskCompletionSource<T> и когда его лучше использовать? 75 -[[https:~~/~~/ru.stackoverflow.com/questions/780270/В-чем-смысл-taskcompletionsourcet-и-когда-его-лучше-использовать>>https://ru.stackoverflow.com/questions/780270/В-чем-смысл-taskcompletionsourcet-и-когда-его-лучше-использовать]] 76 - 77 ----- 78 - 79 -=== Материалы: === 80 - 81 81 * [[Асинхронное программирование в C# 5.0 | O’Reilly>>doc:Книги.O’Reilly.Асинхронное программирование в C# 5\.0 | O’Reilly.WebHome]] 82 82 * Async/await в C#: концепция, внутреннее устройство, полезные приемы 83 83 [[https:~~/~~/habr.com/ru/post/470830/>>https://habr.com/ru/post/470830/||style="background-color: rgb(255, 255, 255);"]]