Maison >développement back-end >C++ >Async / Await vs BackgroundWorker dans .NET: Quand dois-je utiliser lequel?
.NET 4.5 et C # 5 ont introduit Async / Await, qui a déclenché des questions sur les cas d'utilisation avec la classe Backgroundworker existante. Cet article vise à clarifier la différence entre les deux et à guider les développeurs pour choisir la méthode la plus appropriée pour leurs scènes.
Async / Await permet au code d'exécuter asynchrone sans bloquer le thread d'interface utilisateur. Il aide à gérer efficacement pour faire beaucoup de temps pour terminer, empêchant ainsi aucune interface de réponse. Await Grammar permet aux développeurs de suspendre la mise en œuvre jusqu'à ce que l'opération asynchrone soit terminée. BackgroundWorker: Traitement de threads à tâche unique en arrière-plan
D'un autre côté, BackgroundWorker est conçu pour la tâche qui doit être effectuée dans un pool de threads séparé (loin du fil d'interface utilisateur). Il fournit des rapports d'étape et des mécanismes de notification d'achèvement.
Comparaison et scènes communes
Bien que l'async / attendre et les backalons servent des objectifs différents et ne peuvent pas être comparés directement, dans certains cas, chaque méthode peut être plus appropriée.
Async / Await Scène applicable:
Opérations asynchrones non bloquantes qui ne nécessitent pas de rapports de progression (par exemple, E / S de réseau)
L'opération simple qui a peu d'effet sur la capacité de réponse de l'interface utilisateur scènes qui sont essentielles à utiliser (ou à libérer) des ressources dans un contexte asynchrone
Vous devez faire glisser et déposer le composant Works Play de fond sur le diagramme de conception
impliquait une grande quantité de calcul ou de mise à jour de l'interface utilisateur, il nécessite un délai de threadCe 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!