Concurrency Runtime
Le runtime d'accès concurrentiel pour les aide de C++ écrire des applications parallèles fiables, évolutives, et sensibles.Cela permet d'élever le niveau d'abstraction, afin que vous n'ayez pas à gérer les détails de l'infrastructure liés à l'accès concurrentiel.Vous pouvez également l'utiliser pour spécifier les stratégies de planification qui répondent aux exigences de vos applications en matière de qualité de service.Utilisez ces ressources pour vous aider à commencer à utiliser le runtime d'accès concurrentiel.
Pour la documentation de référence, consultez Référence (runtime d'accès concurrentiel).
Conseil |
---|
Le runtime d'accès concurrentiel repose fortement sur les fonctionnalités C++11 et adopte le style plus récent C++.Pour en savoir plus, lisez Accueil vers C++ (C++ moderne). |
Choisir les fonctionnalités du runtime d'accès concurrentiel
Explique pourquoi le runtime d'accès concurrentiel est important et décrit ses principales fonctionnalités. |
|
Comparaison du runtime d'accès concurrentiel aux autres modèles d'accès concurrentiel |
Montre la différence entre le runtime d'accès concurrentiel et d'autres modèles d'accès concurrentiel, tels que le pool de threads Windows et OpenMP, afin que vous puissiez utiliser le modèle d'accès concurrentiel le mieux adapté aux spécifications de votre application. |
Compare OpenMP vers le runtime d'accès concurrentiel et fournit des exemples sur la migration code OpenMP existant pour utiliser le runtime d'accès concurrentiel. |
|
Vous initie au bibliothèque PPL, qui fournit des boucles parallèles, des tâches, et des conteneurs parallèles. |
|
Vous initie à l'utilisation des agents et le passage de messages asynchrones pour intégrer facilement des tâches de flux de données et de traitement pipeline dans vos applications. |
|
Vous initie au planificateur de tâches, qui vous permet d'affiner les performances de vos applications de bureau qui utilise le runtime d'accès concurrentiel. |
Parallélisme des tâches dans la bibliothèque PPL
Parallélisme des tâches (runtime d'accès concurrentiel) Comment : utiliser parallel_invoke pour écrire une routine de tri parallèle Comment : utiliser parallel_invoke pour exécuter des opérations parallèles Comment : créer une tâche qui se termine après un certain délai. |
Décrit les tâches et les groupes de tâches, qui peuvent vous aider à écrire du code asynchrone et à décomposer un travail parallèle en plus petites parties. |
Explique comment combiner des fonctionnalités du runtime d'accès concurrentiel pour effectuer une action supplémentaire. |
|
Procédure pas à pas : suppression de travail d'un thread d'interface utilisateur |
Montre comment déplacer le travail exécuté par le thread d'interface utilisateur dans une application MFC vers un thread de travail. |
Meilleures pratiques de la Bibliothèque de modèles parallèles Meilleures pratiques en général du runtime d'accès concurrentiel |
Fournit des conseils et des meilleures pratiques pour utiliser la bibliothèque PPL. |
Parallélisme des données dans la bibliothèque PPL
Comment : écrire une boucle parallel_for Comment : écrire une boucle parallel_for_each Comment : exécuter des opérations de mappage et de réduction en parallèle |
Décrit parallel_for, parallel_for_each, parallel_invoke, et d'autres algorithmes parallèles.Algorithmes parallèles d'utilisation pour résoudre les problèmes parallèles de données qui impliquent des collections de données. |
Conteneurs et objets parallèles Comment : utiliser des conteneurs parallèles pour une efficacité accrue Comment : utiliser la classe combinable pour améliorer les performances Comment : utiliser la classe combinable pour combiner des ensembles |
Décrit la classe d' combinable, ainsi qu' concurrent_vector, concurrent_queue, concurrent_unordered_map, et autre des conteneurs parallèles.Utilisez des conteneurs parallèles et les objets lorsque vous avez besoin des conteneurs qui fournissent l'accès thread-safe à leurs éléments. |
Meilleures pratiques de la Bibliothèque de modèles parallèles Meilleures pratiques en général du runtime d'accès concurrentiel |
Fournit des conseils et des meilleures pratiques pour utiliser la bibliothèque PPL. |
Annulation des tâches et des algorithmes parallèles
Décrit le rôle de l'annulation dans la bibliothèque PPL, notamment comment initialiser et répondre aux demandes d'annulation. |
|
Comment : utiliser l'annulation pour rompre une boucle parallèle Comment : utiliser la gestion des exceptions pour rompre une boucle parallèle |
Montre deux façons d'annuler un travail parallèle de données. |
Applications de mémoire windows
Création d'opérations asynchrones en C++ pour les applications Windows Store |
Décrit certains points clés pour tenir compte lorsque vous utilisez le runtime d'accès concurrentiel pour produire des opérations asynchrones dans une application d' Windows Store . |
Procédure pas à pas : connexion à l'aide de tâches et de la requête HTTP XML (IXHR2) |
Indique comment combiner des tâches de modèles parallèles avec IXMLHTTPRequest2 et IXMLHTTPRequest2Callback interfaces pour envoyer HTTP GET et POUR PUBLIER des demandes à un service Web dans une application d' Windows Store . |
Contient des exemples de code téléchargeables et les applications de démonstration pour Windows 8.Les fonctionnalités du runtime d'accès concurrentiel utilisation d'exemples C++ telles que les tâches de modèles parallèles de traiter les données en arrière-plan pour que l'UX sensible. |
Flux de données programmation à la bibliothèque d'agents asynchrones
Gestion des exceptions et débogage
Gestion des exceptions dans le runtime d'accès concurrentiel |
Décrit comment travailler avec des exceptions dans le runtime d'accès concurrentiel. |
Outils de diagnostic parallèles (runtime d'accès concurrentiel) |
Explique comment affiner vos applications et tirer le meilleur parti du runtime d'accès concurrentiel. |
Représentation de paramétrage
Outils de diagnostic parallèles (runtime d'accès concurrentiel) |
Explique comment affiner vos applications et tirer le meilleur parti du runtime d'accès concurrentiel. |
Comment : gérer une instance de planificateur Comment : spécifier des stratégies de planificateur Comment : créer des agents qui utilisent des stratégies de planificateur spécifiques |
Montre comment utiliser gèrent des instances du planificateur et des stratégies du planificateur.Pour les applications de bureau, les stratégies du planificateur vous permettent d'associer des règles spécifiques à des types spécifiques de charge de travail.Par exemple, vous pouvez créer une instance du planificateur pour effectuer certaines tâches avec une priorité de thread élevée et utiliser le planificateur par défaut pour effectuer d'autres tâches avec une priorité de thread normale. |
Comment : utiliser des groupes de planifications pour influencer l'ordre d'exécution |
Explique comment utiliser les groupes de planification pour affinitize, ou le groupe, tâches associées ensemble.Par exemple, vous pouvez avoir besoin d'un niveau élevé de localité entre les tâches associées lorsque ces tâches bénéficient d'exécuter sur le même nœud de processeur. |
Explique comment les tâches légères sont utiles pour créer le travail qui ne requiert pas équilibrer la charge de ou annulation, et comment elles sont également utiles pour adapter du code existant à utiliser avec le runtime d'accès concurrentiel. |
|
Comment : utiliser la classe Context pour implémenter un sémaphore coopératif Comment : utiliser le surabonnement pour compenser la latence |
Décrit comment contrôler le comportement des threads gérés par le runtime d'accès concurrentiel. |
Fonctions de gestion de la mémoire Comment : utiliser Alloc et Free pour améliorer les performances de la mémoire |
Décrit les fonctions de gestion de la mémoire que le runtime d'accès concurrentiel fournit le pour vous aider à attributs et à la mémoire de façon simultanée. |
Ressources supplémentaires
Apprenez comment nous avons utilisé le runtime d'accès concurrentiel pour implémenter les opérations asynchrones dans Hilo, une application Windows Store l'aide de C++ et le XAML. |
|
Fournit des exemples d'applications et utilitaires qui présentent le runtime d'accès concurrentiel. |
|
Blog sur la programmation parallèle dans le code natif (éventuellement en anglais) |
Fournit des articles de blog détaillés supplémentaires sur la programmation parallèle dans le runtime d'accès concurrentiel. |
Forum sur le calcul parallèle en C++ et le code natif (éventuellement en anglais) |
Vous permet de participer à des discussions de la communauté sur le runtime d'accès concurrentiel. |
Explique le modèle de programmation parallèle qui est disponible dans le .NET Framework. |