Изменения документа Имитация асинхронного (Async) Deadlock
Редактировал(а) Alexandr Fokin 2024/03/23 17:02
<
>
отредактировано Alexandr Fokin
на 2024/03/23 17:01
на 2024/03/23 17:01
отредактировано Alexandr Fokin
на 2023/01/11 15:18
на 2023/01/11 15:18
Изменить комментарий:
Update document after refactoring.
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,10 +1,12 @@ 1 -| |В данном примере мы имитируем ограничение на использование одного потока (которые возникает в некоторых типах приложений. 2 -После этого мы блокируем поток синхронным ожидаем, из-за чего асинхронная задача не может выполнить продолжение (continuation), т.к. она тоже запланирована на выполнение в этом (заблокированном) потоке. 3 -| |[[Асинхронность. Async Await>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.WebHome]] 1 +[[Асинхронность. Async Await>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.WebHome]] 2 + 4 4 [[Проблемы>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.Проблемы.WebHome]] 5 -| |[[Task Factory>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Task Factory.WebHome]] 6 -[[SynchronizationContext ~~| Контекст синхронизации>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.SynchronizationContext | Контекст синхронизации.WebHome]] 7 -| |{{code language="C#"}}[TestMethod] 4 + 5 +---- 6 + 7 + 8 +{{code language="C#"}} 9 +[TestMethod] 8 8 public async Task AsyncDeadlockTest1Async() 9 9 { 10 10 var delay = TimeSpan.FromMilliseconds(100); ... ... @@ -48,4 +48,5 @@ 48 48 await Assert.ThrowsExceptionAsync<OperationCanceledException>( 49 49 async () => await task 50 50 ); 51 -}{{/code}} 53 +} 54 +{{/code}}