Partager via


Threads et programmation asynchrone

Les threads et la programmation asynchrone permettent à votre application d’accomplir des tâches de manière asynchrone dans des threads parallèles.

Votre application peut utiliser le pool de threads pour accomplir des tâches de manière asynchrone dans des threads parallèles. Le pool de threads gère un ensemble de threads et utilise une file d’attente pour attribuer les éléments de travail aux threads lorsqu’ils deviennent disponibles. Le pool de threads est semblable aux modèles de programmation asynchrones disponibles dans Windows Runtime, car il peut être utilisé pour accomplir des tâches étendues sans bloquer l’interface utilisateur, mais il offre un plus grand contrôle que les modèles de programmation asynchrones, et vous pouvez l’utiliser pour effectuer plusieurs éléments de travail en parallèle. Vous pouvez utiliser le thread pour :

  • envoyer des éléments de travail, contrôler leur priorité et en annuler ;

  • planifier des éléments de travail à l’aide de minuteurs et de minuteurs périodiques ;

  • mettre de côté des ressources pour les éléments de travail critiques ;

  • exécuter des éléments de travail en réponse à des événements et sémaphores nommés.

Le pool de threads est plus efficace pour la gestion des threads car il réduit la surcharge liée à la création et à la destruction de threads. Cela signifie qu’il a la possibilité d’optimiser les threads sur plusieurs cœurs de processeurs, et qu’il peut équilibrer les ressources de threads entre les applications et lorsque des tâches en arrière-plan sont en cours d’exécution. L’utilisation du pool de threads intégré est pratique, car vous vous concentrez sur l’écriture du code qui accomplit une tâche plutôt que sur la mécanique de gestion des threads.

Rubrique Description
Programmation asynchrone (applications UWP) Cette rubrique décrit la programmation asynchrone dans la plateforme Windows universelle (UWP), ainsi que sa représentation dans les langages C#, Microsoft Visual Basic .NET, les extensions de composant Visual C++ (C++/CX) et JavaScript.
Programmation asynchrone en C++/CX (applications UWP) Cet article décrit la meilleure façon d’utiliser des méthodes asynchrones en C++/CX à l’aide de la classe task qui est définie dans l’espace de noms concurrency dans ppltasks.h.
Meilleures pratiques pour l’utilisation du pool de threads Cette rubrique décrit les meilleures pratiques relatives à l’utilisation du pool de threads.
Appeler des API asynchrones en C# ou Visual Basic La plateforme Windows universelle (UWP) comporte de nombreuses API asynchrones qui permettent à votre application de rester réactive lorsqu’elle exécute des opérations potentiellement longues. Cette rubrique décrit comment utiliser les méthodes asynchrones de l’UWP, en C# ou Microsoft Visual Basic.
Créer un élément de travail périodique Découvrez comment créer un élément de travail qui se reproduit régulièrement.
Envoyer un élément de travail au pool de threads Découvrez comment effectuer des tâches dans un thread distinct en envoyant un élément de travail au pool de threads.
Utiliser un minuteur pour envoyer un élément de travail Découvrez comment créer un élément de travail qui s’exécute une fois le délai du minuteur écoulé.