Być może czegoś mi brakuje, ale jaka jest różnica między robieniem:
public void MyMethod()
{
Task t = Task.Factory.StartNew(DoSomethingThatTakesTime);
t.Wait();
UpdateLabelToSayItsComplete();
}
public async void MyMethod()
{
var result = Task.Factory.StartNew(DoSomethingThatTakesTime);
await result;
UpdateLabelToSayItsComplete();
}
private void DoSomethingThatTakesTime()
{
Thread.Sleep(10000);
}
Task
10 ms faktycznie wykonało 10-godzinnyTask
wątek, blokując w ten sposób całe 10 godzin?