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

<
От версии < 6.6
отредактировано Alexandr Fokin
на 2024/03/23 17:02
К версии < 3.1 >
отредактировано Alexandr Fokin
на 2023/01/11 15:17
Изменить комментарий: Renamed back-links.

Комментарий

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.NET.C#.Многопоточность и асинхронность.Сценарии.WebHome
1 +Разработка.NET.C#.Многопоточность.Сценарии.WebHome
Содержимое
... ... @@ -1,10 +1,12 @@
1 -| |В данном примере мы имитируем ограничение на использование одного потока (которые возникает в некоторых типах приложений, [[SynchronizationContext ~~| Контекст синхронизации>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.SynchronizationContext | Контекст синхронизации.WebHome]]).
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]
1 +[[Асинхронность. Async Await>>doc:Разработка.NET.C#.Многопоточность и асинхронность2.Асинхронность\. Async Await.WebHome]]
2 +
3 +[[Проблемы>>doc:Разработка.NET.C#.Многопоточность и асинхронность2.Асинхронность\. Async Await.Проблемы.WebHome]]
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}}