погружаясь в асинхроннку WinForms не могу понять в чем разница Task.Delay(3000).Wait(); и await Task.Delay(3000);
Чем будут отличаться 2 этих кода при выполнении
if (true)
{
asyncFun()
}
private async void asyncFun()
{
Task.Delay(3000).Wait();
}
if (true)
{
asyncFun()
}
private async void asyncFun()
{
await Task.Delay(3000);
}
Wait()блокирует вызывающий поток, аawait- нет. Никогда не используйтеWait(). В случае, если вам нужна синхронная блокировка потока на время, лучше тогда используйтеThread.Sleep()вместоTask.Delay().Wait(), он дает меньше нагрузки на систему. – aepot Sep 21 '21 at 11:18Чем будут отличаться 2 этих кода при выполнении- тем что первый "повесит" форму на 3 секнуды, а второй - нет. – aepot Sep 21 '21 at 11:20