Изменения документа Асинхронность. Async Await
Редактировал(а) Alexandr Fokin 2025/04/09 12:46
<
>
отредактировано Alexandr Fokin
на 2023/05/26 12:57
на 2023/05/26 12:57
отредактировано Alexandr Fokin
на 2022/12/31 15:31
на 2022/12/31 15:31
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.NET.C#.Многопоточность и асинхронность.WebHome1 +Разработка.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,8 +65,19 @@ 65 65 66 66 ---- 67 67 68 -==== Материалы:====68 +==== Taskcompletionsource ==== 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 + 70 70 * [[Асинхронное программирование в C# 5.0 | O’Reilly>>doc:Книги.O’Reilly.Асинхронное программирование в C# 5\.0 | O’Reilly.WebHome]] 71 71 * Async/await в C#: концепция, внутреннее устройство, полезные приемы 72 72 [[https:~~/~~/habr.com/ru/post/470830/>>https://habr.com/ru/post/470830/||style="background-color: rgb(255, 255, 255);"]]