Le synchronisation et la méthode de l'utilisation de
async
await
En C #,
et sont des mots clés puissants. Les utiliser n'est pas la même chose que la création de threads d'arrière-plan, car ils utilisent un mécanisme différent appelé machine d'état asynchrone. async
await
Exemples de détails de code
Analysons les fragments de code fournis pour démontrer la méthode de travail de et
:
async
await
Explication comportementale
<code class="language-csharp">private async void button1_Click(object sender, EventArgs e) { Task<int> access = DoSomethingAsync(); // 此处执行与任务无关的逻辑 int a = 1; // 立即执行,因为它不依赖于 DoSomethingAsync() int x = await access; // 等待 DoSomethingAsync() 完成 } async Task<int> DoSomethingAsync() { await Task.Delay(5000); // 使线程休眠 5 秒 return 1; }</code>
La méthode est marquée comme pour activer son exécution asynchrone.
button1_Click
Lors de l'exécution en arrière-plan, vous pouvez effectuer une logique indépendante. async
DoSomethingAsync()
soit terminé. DoSomethingAsync()
à await access;
button1_Click
DoSomethingAsync()
et DoSomethingAsync()
await
Lors de l'utilisation de et x
, le compilateur génère une machine à états asynchrones. Le montage et la récupération de cette tâche de gestion de la machine d'État permet aux opérations asynchrones d'écrire et d'effectuer des opérations asynchrones de manière simplifiée.
async
await
Améliorer la lisibilité du code
async
Amélioration de la capacité de réponse de l'interface utilisateur await
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!