J'ai ouvert cette question pour une meilleure compréhension sur la façon async et await .NET 4.5 et quand les utiliser.
De ma compréhension de l'une des principales choses qui async et await faire est de rendre le code facile à lire et à écrire. Mais leur utilisation a d'autres impacts? Est-ce la même chose que la reproduction threads d'arrière-plan pour effectuer la longue durée de la logique?
J'ai lu quelques articles et je suis en train d'essayer l'exemple le plus simple. J'ai ajouté des commentaires en ligne. Pouvez vous s'il vous plaît m'aider avec quelques réponses?
// i don't uderstand why this method must be marked as "async'.
private async void button1_Click(object sender, EventArgs e)
{
Task<int> access = DoSomethingAsync();
// task independent stuff here
// this line is reached after the 5 seconds sleep from
// DoSomethingAsync() method. Shouldn't it be reached immediately?
int a = 1;
// from my understanding the waiting should be done here.
int x = await access;
}
async Task<int> DoSomethingAsync()
{
// is this executed on a background thread?
System.Threading.Thread.Sleep(5000);
return 1;
}