Login
Непонятно с async-await в C# - 2
1777 просмотров
Перейти к просмотру всей ветки
in Antwort Murr 09.09.21 02:25
А ты упрости...
А там нечего убирать, вот часть оригинала. Приложение консольное.
Обыгрывается только лишь енто все остальное отладка
await Task.Delay(delay);
private static async Task TestWithDirectAwait() { Wait1(); Console.WriteLine("after wait1"); await Wait2(); Console.WriteLine("after wait2"); await Wait3(); Console.WriteLine("after wait3"); } private static void Wait1() { SetThreadName(); Console.WriteLine($"wait1 Start tid {Thread.CurrentThread.ManagedThreadId} ({Thread.CurrentThread.Name})"); int delay = 3000; Task.Delay(delay); SetThreadName(); Console.WriteLine($"wait1 for {delay} is ready after {DateTime.Now - _startTime} tid {Thread.CurrentThread.ManagedThreadId} ({Thread.CurrentThread.Name})"); } private static async Task Wait2() { SetThreadName(); Console.WriteLine($"wait2 Start tid {Thread.CurrentThread.ManagedThreadId} ({Thread.CurrentThread.Name})"); const int delay = 2000; await Task.Delay(delay); SetThreadName(); Console.WriteLine($"wait2 for {delay} is ready after {DateTime.Now - _startTime} tid {Thread.CurrentThread.ManagedThreadId} ({Thread.CurrentThread.Name})"); }