русский
Germany.ruForen → Архив Досок→ Programmierung

Непонятно с async-await в C# - 2

09.09.21 19:55
Re: Непонятно с async-await в C# - 2
 
AlexNek патриот
AlexNek
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})");
        }
 

Sprung zu