Middle+
36
Šta će prikazati program sa async/await: main ispisuje A, poziva saySomething (statički, vraća Task), čeka 5 sekundi, zatim D?
Компаније где су питане
Gravilink
Одговор од АИ
sobes.tech АИ
Если в методе main есть последовательность:
Console.WriteLine("A");
saySomething(); // saySomething - async Task, внутри есть await Task.Delay(5000)
Console.WriteLine("D");
то программа выведет:
A
D
Потому что вызов saySomething() без await запускает асинхронную задачу, но не ждёт её завершения. Поэтому Console.WriteLine("D") выполняется сразу после запуска задачи.
Если же вызвать await saySomething();, тогда вывод будет:
A
(пауза 5 секунд)
D
Пояснение: async/await позволяет писать асинхронный код, который при await приостанавливает выполнение метода до завершения задачи, а без await задача запускается, но метод продолжает выполняться дальше.