Изменения документа Имитация асинхронного (Async) Deadlock
Редактировал(а) Alexandr Fokin 2024/03/23 17:02
<
>
отредактировано Alexandr Fokin
на 2024/03/23 16:54
на 2024/03/23 16:54
отредактировано Alexandr Fokin
на 2024/03/23 17:01
на 2024/03/23 17:01
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,7 +1,9 @@ 1 -| | 1 +| |В данном примере мы имитируем ограничение на использование одного потока (которые возникает в некоторых типах приложений. 2 +После этого мы блокируем поток синхронным ожидаем, из-за чего асинхронная задача не может выполнить продолжение (continuation), т.к. она тоже запланирована на выполнение в этом (заблокированном) потоке. 2 2 | |[[Асинхронность. Async Await>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.WebHome]] 3 3 [[Проблемы>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.Проблемы.WebHome]] 4 4 | |[[Task Factory>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Task Factory.WebHome]] 6 +[[SynchronizationContext ~~| Контекст синхронизации>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.SynchronizationContext | Контекст синхронизации.WebHome]] 5 5 | |{{code language="C#"}}[TestMethod] 6 6 public async Task AsyncDeadlockTest1Async() 7 7 {