.NET 4.5 et C # 5 Framework a introduit le mode de programmation asynchronique asynchrone / attente moderne. Les deux sont utilisés pour gérer les tâches de fonctionnement à long terme, mais la compréhension de leurs rôles respectifs et de leurs scènes applicables est essentielle.
async / attend
async / Await est un sucre de syntaxe asynchrone, qui permet aux développeurs d'exprimer un comportement asynchrone de manière synchrone, simplifiant ainsi la lisibilité et le maintien du code. La fonction asynchrone / attente peut être exécutée sans bloquer le thread d'interface utilisateur, afin de maintenir la capacité de réponse de l'interface utilisateur pendant une période de tâche à long terme.
par exemple, une demande de réseau:
<code class="language-csharp">using (WebResponse response = await webReq.GetResponseAsync()) { using (Stream responseStream = response.GetResponseStream()) { int bytesRead = await responseStream.ReadAsync(buffer, 0, buffer.Length); } }</code>
Le composant BackgroundWorker est utilisé pour exécuter la tâche d'exécuter le PDG sur le thread de pool de threads pour assurer la capacité de réponse de l'interface utilisateur. Il fournit des rapports de planification et des fonctions d'achèvement, permettant aux développeurs de mettre à jour l'interface utilisateur pendant le processus d'exécution des tâches. Bien que la création et l'exécution de threads gérés par des arrière-plans, il ait introduit une complexité supplémentaire par rapport à la syntaxe plus simple d'Async / Await.
Scénarios d'application courants
Opération d'E / S asynchrone
Call de service Web
Programmation de l'événementLa tâche du rapport d'étape la scène des fils de gestion manuelle
Grammaire simple et facile -read Gardez la capacité de réponse à l'interface utilisateur
Traitement d'événements simplifié
Backgroundworker:Sélectionnez le bon outil
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!