Cześć mam taki kod przykładowo:
Task t3 = Task.Run(() =>
{
Thread.Sleep(2000);
Console.WriteLine("Call from task t3.");
});
To zadanie wykona się - wiadomo - w tle. Ale czy asynchronicznie? Jeśli tak, to jaki jest zatem sens stosowania async i await?
Z dokumentacji msdn:
Task Class - Represents an asynchronous operation.
To dość mylące, prawda?
Ten kod można również napisać tak:
Task t2 = Task.Run(async () =>
{
await Task.Delay(4000);
Console.WriteLine("Call from task t2.");
});
Wtedy już jest asynchronicznie ponieważ stosuję tutaj await w celu "wydłużenia" pracy metody.