Il me manque peut-être quelque chose, mais quelle est la différence entre faire:
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
qui prend 10 ms exécute réellement 10 heuresTask
sur votre thread, vous bloquant ainsi pendant 10 heures?