Редактировал(а) Alexandr Fokin 2024/03/23 17:02

От версии 1.1 >
отредактировано Alexandr Fokin
на 2023/01/11 14:34
К версии < 6.5 >
отредактировано Alexandr Fokin
на 2024/03/23 17:01
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Название
... ... @@ -1,1 +1,1 @@
1 -Имитация Async Deadlock
1 +Имитация асинхронного (Async) Deadlock
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.NET.C#.Многопоточность.Сценарии.WebHome
1 +Разработка.NET.C#.Многопоточность и асинхронность.Сценарии.WebHome
Содержимое
... ... @@ -1,5 +1,10 @@
1 -{{code language="C#"}}
2 -[TestMethod]
1 +| |В данном примере мы имитируем ограничение на использование одного потока (которые возникает в некоторых типах приложений.
2 +После этого мы блокируем поток синхронным ожидаем, из-за чего асинхронная задача не может выполнить продолжение (continuation), т.к. она тоже запланирована на выполнение в этом (заблокированном) потоке.
3 +| |[[Асинхронность. Async Await>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.WebHome]]
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]
3 3  public async Task AsyncDeadlockTest1Async()
4 4  {
5 5   var delay = TimeSpan.FromMilliseconds(100);
... ... @@ -43,5 +43,4 @@
43 43   await Assert.ThrowsExceptionAsync<OperationCanceledException>(
44 44   async () => await task
45 45   );
46 -}
47 -{{/code}}
51 +}{{/code}}