Partager via


concurrency, espace de noms

L'espace de noms d' concurrency fournit des classes et des fonctions qui permettent d'accéder au runtime d'accès concurrentiel, une infrastructure de programmation simultanée pour C++.Pour plus d'informations, consultez Concurrency Runtime.

namespace concurrency;

Membres

Dd492819.collapse_all(fr-fr,VS.110).gifTypedef

Nom

Description

runtime_object_identity

Chaque instance de message a une identité qui le suit lorsqu'il est cloné et passé entre des composants de messagerie.Ceci ne peut pas être l'adresse de l'objet de message.

task_status

Un type qui représente l'état terminal d'une tâche.Les valeurs valides sont completed et canceled.

TaskProc

Abstraction élémentaire d'une tâche, définie sous la forme void (__cdecl * TaskProc)(void *).Un TaskProc est appelé pour appeler le corps d'une tâche.

Dd492819.collapse_all(fr-fr,VS.110).gifClasses

Nom

Description

affinity_partitioner, classe

La classe d' affinity_partitioner est semblable à la classe d' static_partitioner , mais elle améliore l'affinité du cache par son choix de subranges de mappage aux threads de travail.Elle peut améliorer les performances de manière significative lorsqu'une boucle est exécutée de nouveau sur le même groupe de données, et les mieux de données dans le cache.Notez que le même objet d' affinity_partitioner doit être utilisé avec les itérations ultérieures d'une boucle parallèle exécutée sur un groupe de données particulier, pour tirer parti de la localité des données.

agent, classe

Classe prévue pour être utilisée comme une classe de base pour tous les agents indépendants.Il est utilisé pour masquer l'état d'autres agents et d'interagir avec le passage de message.

auto_partitioner, classe

La classe d' auto_partitioner représente la méthode par défaut parallel_for, parallel_for_each et utilisation d' parallel_transform de partitionner la plage qu'il itère sur.Cette méthode de la plage d'employes de partitionnement volant pour équilibrer la charge de ainsi que par itèrent l'annulation.

bad_target, classe

Cette classe décrit une exception levée lorsqu'un bloc de messagerie est fourni un pointeur vers une cible qui n'est pas valide pour l'opération est exécutée.

call, classe

Un bloc de messagerie call est une source multiple, target_block classé qui appelle une fonction spécifiée lors de la réception d'un message.

cancellation_token, classe

La classe d' cancellation_token représente la capacité de déterminer si une opération a été demandée pour annuler.

cancellation_token_registration, classe

La classe d' cancellation_token_registration représente une notification de rappel d' cancellation_token.

cancellation_token_source, classe

La classe d' cancellation_token_source représente la possibilité d'annuler une opération.

Classe choice

Un bloc de messagerie choice est une source multiple, bloc de cible unique qui représente une interaction de flux de contrôle avec un jeu de sources.Le bloc de choix attendra que l'une des sources multiples produise un message et propagera l'index de la source qui a produit le message.

combinable, classe

L'objet combinable<T> vise à fournir des copies des données spécifiques au thread pour exécuter des sous-calculs locaux de thread sans verrou pendant des algorithmes parallèles.À la fin de l'opération en parallèle, les sous-calculs spécifiques au thread peuvent être fusionnés en un résultat final.Cette classe peut être utilisée à la place d'une variable partagée et peut améliorer les performances si la variable partagée est susceptible de provoquer de nombreux conflits.

concurrent_priority_queue, classe

La classe d' concurrent_priority_queue est un conteneur qui permet à plusieurs threads simultanément poussent et dépilent des éléments.Les éléments sont dépilés par ordre de priorité où la priorité est déterminée par un functor fourni comme argument template.

concurrent_queue, classe

La classe concurrent_queue est une classe de conteneur de séquences qui autorise l'accès premier entré, premier sorti à ses éléments.Elle permet un jeu limité d'opérations d'accès concurrentiel, telles que push et try_pop.

concurrent_unordered_map, classe

La classe d' concurrent_unordered_map est un conteneur d'accès concurrentiel qui contrôle une séquence de la longueur variée d'éléments de type std::pair<const _Key_type, _Element_type>.La séquence est représentée d'une façon qui permet l'accès concurrentiel ajout, d'accès aux éléments, d'accès aux itérateurs, et opérations de parcours d'itérateur.

concurrent_unordered_multimap, classe

La classe d' concurrent_unordered_multimap est un conteneur d'accès concurrentiel qui contrôle une séquence de la longueur variée d'éléments de type std::pair<const _Key_type, _Element_type>.La séquence est représentée d'une façon qui permet l'accès concurrentiel ajout, d'accès aux éléments, d'accès aux itérateurs et opérations de parcours d'itérateur.

concurrent_unordered_multiset, classe

La classe d' concurrent_unordered_multiset est un conteneur d'accès concurrentiel qui contrôle une séquence de la longueur variée d'éléments de type _Key_type.La séquence est représentée d'une façon qui permet l'accès concurrentiel ajout, d'accès aux éléments, d'accès aux itérateurs et opérations de parcours d'itérateur.

concurrent_unordered_set, classe

La classe d' concurrent_unordered_set est un conteneur d'accès concurrentiel qui contrôle une séquence de la longueur variée d'éléments de type _Key_type.La séquence est représentée d'une façon qui permet l'accès concurrentiel ajout, d'accès aux éléments, d'accès aux itérateurs et opérations de parcours d'itérateur.

Classe concurrent_vector

La classe concurrent_vector est une classe de conteneur de séquences qui autorise l'accès aléatoire à tout élément.Elle permet l'accès concurrentiel ajout, d'accès aux éléments, d'accès aux itérateurs, et opérations de parcours d'itérateur.

Context, classe

Représente une abstraction pour un contexte d'exécution.

context_self_unblock, classe

Cette classe décrit une exception levée lorsque la méthode d' Unblock d'objet d' Context est appelée à partir de le même contexte.Cela indiquerait qu'un contexte donné a tenté de se débloquer.

context_unblock_unbalanced, classe

Cette classe décrit une exception levée lorsque des appels aux méthodes d' Block et d' Unblock d'objet d' Context ne sont pas correctement appariés.

critical_section, classe

Mutex non réentrant qui est explicitement informé du runtime d'accès concurrentiel.

CurrentScheduler, classe

Représente une abstraction pour le planificateur actuel associé au contexte d'appel.

default_scheduler_exists, classe

Cette classe décrit une exception levée lorsque la méthode d' Scheduler::SetDefaultSchedulerPolicy est appelée lorsqu'un planificateur par défaut existe déjà dans le processus.

event, class (runtime d'accès concurrentiel)

Événement de réinitialisation manuelle qui est explicitement informé du runtime d'accès concurrentiel.

improper_lock, classe

Cette classe décrit une exception levée lorsqu'un verrou acquis est incorrecte.

improper_scheduler_attach, classe

Cette classe décrit une exception levée lorsque la méthode d' Attach est appelée sur un objet d' Scheduler qui est déjà lié au contexte actuel.

improper_scheduler_detach, classe

Cette classe décrit une exception levée lorsque la méthode d' CurrentScheduler::Detach est appelée sur un contexte qui n'a été attaché à aucun planificateur à l'aide de la méthode d' Attach d'objet d' Scheduler .

improper_scheduler_reference, classe

Cette classe décrit une exception levée lorsque la méthode d' Reference est appelée sur un objet d' Scheduler qui s'arrête, d'un contexte qui ne fait pas partie de ce planificateur.

invalid_link_target, classe

Cette classe décrit une exception levée lorsque la méthode d' link_target de bloc de messagerie est appelée et le bloc de messagerie ne peut pas créer de liaison à la cible.Cela peut être le résultat de dépasser le nombre de liens que le bloc de messagerie est laissé ou une tentative de lier une cible spécifique deux fois à la même source.

invalid_multiple_scheduling, classe

Cette classe décrit une exception levée lorsqu'un objet d' task_handle est planifié plusieurs fois à l'aide de la méthode d' run d'objet d' task_group ou d' structured_task_group sans appel intervenant aux méthodes d' wait ou d' run_and_wait .

invalid_operation, classe

Cette classe décrit une exception levée lorsqu'il exécute une opération non valide qui plus précisément n'est pas décrite par un autre type d'exception levée par le runtime d'accès concurrentiel.

invalid_oversubscribe_operation, classe

Cette classe décrit une exception levée lorsque la méthode d' Context::Oversubscribe est appelée avec le jeu de paramètres d' _BeginOversubscription à false sans appel antérieure à la méthode d' Context::Oversubscribe avec le jeu de paramètres d' _BeginOversubscription à true.

invalid_scheduler_policy_key, classe

Cette classe décrit une exception levée lorsqu'une clé inconnue ou non valide est passé à un constructeur d'objet d' SchedulerPolicy , ou la méthode d' SetPolicyValue d'objet d' SchedulerPolicy est passée une clé qui doit être modifiée à l'aide de autres moyens tels que la méthode d' SetConcurrencyLimits .

invalid_scheduler_policy_thread_specification, classe

Cette classe décrit une exception levée lorsqu'une tentative est faite pour définir les limites d'accès concurrentiel d'un objet d' SchedulerPolicy tels que la valeur de la clé d' MinConcurrency est inférieure à la valeur de la clé d' MaxConcurrency .

invalid_scheduler_policy_value, classe

Cette classe décrit une exception levée lorsqu'une clé de stratégie d'un objet d' SchedulerPolicy a une valeur non valide pour cette clé.

ISource, classe

La classe ISource est l'interface pour tous les blocs source.Les blocs source propagent des messages aux blocs ITarget.

ITarget, classe

La classe ITarget est l'interface pour tous les blocs cibles.Les blocs cible consomment des messages offerts à eux par les blocs ISource.

join, classe

Un bloc de messagerie join est un propagator_block de cible unique, de source multiple et classé qui combine ensemble des messages de type _Type à partir de chacune de ses sources.

location, classe

Une abstraction d'un emplacement physique sur le matériel.

message, classe

Enveloppe de message de base qui contient la charge utile de données qui est passée entre des blocs de messagerie.

message_not_found, classe

Cette classe décrit une exception levée lorsqu'un bloc de messagerie ne peut pas trouver un message demandé.

message_processor, classe

La classe message_processor est la classe de base abstraite pour le traitement d'objets message.Il n'y a aucune garantie sur le classement des messages.

missing_wait, classe

Cette classe décrit une exception levée lorsqu'il existe des tâches planifiées toujours à un objet d' task_group ou d' structured_task_group tandis que le destructeur de l'objet exécute.Cette exception ne sera jamais levée si le destructeur est atteint en raison d'un déroulement de pile suite à une exception.

multi_link_registry, classe

L'objet multi_link_registry est un network_link_registry qui gère plusieurs blocs source ou plusieurs blocs cibles.

multitype_join, classe

Un bloc de messagerie multitype_join est un bloc de messagerie de cible unique et de source multiple qui combine ensemble des messages de types différents à partir de chacune de ses sources et offre un tuple des messages combinés à ses cibles.

nested_scheduler_missing_detach, classe

Cette classe décrit une exception levée lorsque le runtime d'accès concurrentiel détecte que vous avez négligé pour appeler la méthode d' CurrentScheduler::Detach sur un contexte qui est attaché à un deuxième planificateur à l'aide de la méthode d' Attach d'objet d' Scheduler .

network_link_registry, classe

La classe de base abstraite network_link_registry gère les liens entre les blocs source et cibles.

operation_timed_out, classe

Cette classe décrit une exception levée lorsqu'une opération a expiré.

ordered_message_processor, classe

Un ordered_message_processor est un message_processor qui permet aux blocs de messages de traiter les messages dans l'ordre dans lequel ils ont été reçus.

Classe overwrite_buffer

Un bloc de messagerie overwrite_buffer est un propagator_block ordonné, multi-sources et multi-cibles capable de stocker un seul message la fois.Les nouveaux messages remplacent ceux précédemment maintenus.

progress_reporter, classe

La classe de journaliste de progression fournit des notifications de progression de l'enregistrement d'un type spécifique.Chaque objet de progress_reporter est lié à une action ou à une opération asynchrone particulière.

propagator_block, classe

La classe propagator_block est une classe de base abstraite pour les blocs de messages qui sont à la fois une source et une cible.Il combine les fonctionnalités des classes target_block et source_block.

reader_writer_lock, classe

Verrou de lecteur/writer, basé sur file d'attente, à préférence de writer, à rotation uniquement locale.Le verrou accorde un accès premier entré, premier sorti aux writers et prive les lecteurs sous une charge continue de writers.

ScheduleGroup, classe

Représente une abstraction pour un groupe de planification.Les groupes de planification organisent un ensemble de travaux connexes qui bénéficient d'être planifiés près des uns des autres, au niveau temporel en exécutant une autre tâche du même groupe avant de se déplacer vers un autre groupe, ou au niveau spatial en exécutant plusieurs éléments du même groupe sur le même nœud NUMA ou socket physique.

Scheduler, classe

Représente une abstraction pour un planificateur de runtime d'accès concurrentiel.

scheduler_not_attached, classe

Cette classe décrit une exception levée lorsqu'il effectue une opération qui requiert un planificateur d'être attaché au contexte actuel et il n'est pas.

scheduler_resource_allocation_error, classe

Cette classe décrit une exception en raison d'un échec de capturer une ressource critique dans le runtime d'accès concurrentiel.

scheduler_worker_creation_error, classe

Cette classe décrit une exception en raison d'un échec de créer un contexte d'exécution de travail dans le runtime d'accès concurrentiel.

SchedulerPolicy, classe

La classe SchedulerPolicy contient un jeu de paires clé/valeur, un pour chaque élément de stratégie, qui contrôle le comportement d'une instance du planificateur.

simple_partitioner, classe

La classe d' simple_partitioner représente un partitionnement statique de la plage itéré plus de par parallel_for.Le partitionneur divise la plage en segments de sorte que chaque segment a au moins le nombre d'itérations spécifiées par la taille du segment.

Classe single_assignment

Un bloc de messagerie single_assignment est un propagator_block de cible multiple, de source multiple et classé capable de stocker un message unique, écrit une seule fois.

single_link_registry, classe

L'objet single_link_registry est un network_link_registry qui gère uniquement un seul bloc source ou cible.

source_block, classe

La classe source_block est une classe de base abstraite pour les blocs source uniquement.La classe fournit une fonctionnalité basique de gestion des liaisons et vérifie les erreurs courantes.

source_link_manager, classe

L'objet source_link_manager gère les liens réseau entre les blocs de messagerie et les blocs ISource.

static_partitioner, classe

La classe d' static_partitioner représente un partitionnement statique de la plage itéré plus de par parallel_for.Le partitionneur divise la plage dans autant de segments comme il existe des ouvriers disponibles au planificateur underyling.

structured_task_group, classe

La classe structured_task_group représente une collection très structurée de travail parallèle.Vous pouvez mettre en file d'attente des tâches parallèles individuelles dans un structured_task_group à l'aide d'objets task_handle et attendre qu'elles se terminent, ou annuler le groupe de tâches avant la fin de leur exécution, ce qui conduira à l'abandon de toutes les tâches qui n'ont pas commencé.

target_block, classe

La classe target_block est une classe de base abstraite qui fournit des fonctionnalités de gestion des liens de base et vérifie les erreurs pour les blocs cibles uniquement.

task (Concurrency Runtime), classe

La classe de (PPL) task de bibliothèque de modèles parallèles.Un objet d' task représente le travail qui peut être exécuté de façon asynchrone, et en même temps que les autres tâches et de travail parallèle produits par les algorithmes parallèles dans le runtime d'accès concurrentiel.Il produit un résultat de type _ResultType de l'achèvement réussi.Les tâches du type task<void> ne produisent pas de résultats.Une tâche peut être attendue au moment et annulée indépendamment des autres tâches.Elle peut également être composée avec d'autres tâches à l'aide de les suites (then), et jointure (when_all) et modèles bien choisis (when_any).

task_canceled, classe

Cette classe décrit une exception levée par les tâches de modèles parallèles produisent pour forcer la tâche actuelle d'annuler.Elle est également levée par la méthode d' get() sur tâche, d'une tâche annulée.

task_completion_event, classe

La classe d' task_completion_event vous permet de différer l'exécution d'une tâche jusqu'à ce qu'une condition est satisfaite, ou pour lancer une tâche en réponse à un événement externe.

task_continuation_context, classe

La classe d' task_continuation_context vous permet de spécifier où vous souhaitez qu'une suite soit exécutée.Il est utile que d'utiliser cette classe d'une application de style du métro.Pour les applications de style non Métro, le contexte d'exécution de la suite de tâche est déterminé par le runtime, et non configurable.

task_group, classe

La classe task_group représente une collection de travaux parallèles qui peuvent être mis en attente ou annulés.

task_handle, classe

La classe task_handle représente un élément de travail parallèle individuel.Il encapsule les instructions et les données obligatoires pour exécuter un travail.

Classe timer

Un bloc de messagerie timer est un source_block à cible unique capable d'envoyer un message à sa cible après qu'une période spécifiée s'est écoulée ou à intervalles spécifiques.

Classe transformer

Un bloc de messagerie transformer est un propagator_block ordonné, multi-sources, à cible unique qui peut accepter des messages d'un type et stocker un nombre illimité de messages d'un type différent.

Classe unbounded_buffer

Un bloc de messagerie unbounded_buffer est un propagator_block ordonné multi-sources et multi-cibles capable de stocker un nombre illimité de messages.

unsupported_os, classe

Cette classe décrit une exception levée lorsqu'un système d'exploitation sans prise en charge est utilisé.Le runtime d'accès concurrentiel ne prend pas en charge les systèmes d'exploitation antérieurs à Windows XP avec Service Pack 3.

Dd492819.collapse_all(fr-fr,VS.110).gifStructures

Nom

Description

DispatchState, structure

La structure DispatchState est utilisée pour transférer l'état à la méthode IExecutionContext::Dispatch.Il décrit les circonstances sous lesquelles la méthode Dispatch est appelée sur une interface IExecutionContext.

IExecutionContext, structure

Interface à un contexte d'exécution qui peut s'exécuter sur un processeur virtuel donné et dont le contexte peut être modifié de manière coopérative.

IExecutionResource, structure

Abstraction d'un thread matériel.

IResourceManager, structure

Interface au Gestionnaire de ressources du runtime d'accès concurrentiel.C'est l'interface par laquelle les planificateurs communiquent avec le Gestionnaire des ressources.

IScheduler, structure

Interface à une abstraction d'un planificateur de travail.Le Gestionnaire des ressources du runtime d'accès concurrentiel utilise cette interface pour communiquer avec les planificateurs de tâches.

ISchedulerProxy, structure

Interface par laquelle les planificateurs communiquent avec le Gestionnaire des ressources du runtime d'accès concurrentiel pour négocier l'allocation des ressources.

IThreadProxy, structure

Abstraction d'un thread d'exécution.Selon la clé de stratégie SchedulerType du planificateur que vous créez, le Gestionnaire des ressources vous accordera un proxy de thread stocké par un thread Win32 standard ou un thread UMS (User-Mode Schedulable).Les threads UMS sont pris en charge sur les systèmes d'exploitation 64 bits avec la version Windows 7 et supérieure.

ITopologyExecutionResource, structure

Une interface à une ressource d'exécution définie par le gestionnaire des ressources.

ITopologyNode, structure

Une interface à un nœud de topologie comme défini par le gestionnaire des ressources.Un nœud contient un ou plusieurs ressources de exécution.

IUMSCompletionList, structure

Représente une liste de saisie semi-automatique UMS.Lorsqu'un thread UMS se bloque, le contexte de planification désigné du planificateur est distribué afin de décider quoi planifier sur la racine de processeur virtuel sous-jacente pendant que le thread d'origine est bloqué.Lorsque le thread d'origine se débloque, le système d'exploitation le met en file d'attente dans la liste de saisie semi-automatique qui est accessible via cette interface.Le planificateur peut interroger la liste de saisie semi-automatique sur le contexte de planification désigné ou tout autre emplacement sur lequel il recherche du travail.

IUMSScheduler, structure

Interface à une abstraction d'un planificateur de travail qui veut que le Gestionnaire de ressources du runtime d'accès concurrentiel lui envoie des threads UMS (user mode schedulable).Le Gestionnaire des ressources utilise cette interface pour communiquer avec les planificateurs de thread UMS.L'interface IUMSScheduler hérite de l'interface IScheduler.

IUMSThreadProxy, structure

Abstraction d'un thread d'exécution.Si vous souhaitez que des threads planifiables en mode utilisateur (UMS) soient accordés à votre planificateur, définissez la valeur de l'élément de stratégie du planificateur SchedulerKind sur UmsThreadDefault et implémentez l'interface IUMSScheduler.Les threads UMS sont pris en charge uniquement sur les systèmes d'exploitation 64 bits avec la version Windows 7 et supérieure.

IUMSUnblockNotification, structure

Représente une notification du Gestionnaire de ressources informant qu'un proxy de thread bloqué ayant déclenché un retour au contexte de planification désigné du planificateur est maintenant débloqué et prêt à être planifié.Cette interface n'est pas valide une fois le contexte d'exécution associé du proxy de thread, retourné par la méthode GetContext, est replanifié.

IVirtualProcessorRoot, structure

Abstraction d'un thread matériel sur laquelle un proxy de thread peut s'exécuter.

Dd492819.collapse_all(fr-fr,VS.110).gifÉnumérations

Nom

Description

agent_status, énumération

États valides pour un agent.

Agents_EventType, énumération

Les types d'événements qui peuvent être suivis à l'aide de la fonctionnalité de traçage sont proposées par la bibliothèque d'agents

ConcRT_EventType, énumération

Types d'événements qui peuvent être suivis à l'aide des fonctionnalités de traçage offertes par le runtime d'accès concurrentiel.

Concrt_TraceFlags, énumération

Indicateurs de suivi pour les types d'événements

CriticalRegionType, énumération

Type de région critique dans laquelle se trouve un contexte.

DynamicProgressFeedbackType, énumération

Utilisé par la stratégie DynamicProgressFeedback pour décrire si les ressources du planificateur seront rééquilibrées d'après les statistiques rassemblées à partir du planificateur ou uniquement selon les processeurs virtuels qui entrent ou sortent de l'état d'inactivité via des appels aux méthodes Activate et Deactivate sur l'interface IVirtualProcessorRoot.Pour plus d'informations sur les stratégies de planificateur disponibles, consultez PolicyElementKey, énumération.

join_type, énumération

Type d'un bloc de messagerie join.

message_status, énumération

Réponses valides pour une offre d'un objet message à un bloc.

PolicyElementKey, énumération

Clés de stratégie qui décrivent des aspects de comportement de planificateur.Chaque élément de stratégie est décrit par une paire clé-valeur.Pour plus d'informations sur les stratégies de planificateur et leur impact sur les planificateurs, consultez Planificateur de tâches (runtime d'accès concurrentiel).

SchedulerType, énumération

Utilisé par la stratégie SchedulerKind pour décrire le type des threads que le planificateur doit utiliser pour les contextes d'exécution sous-jacents.Pour plus d'informations sur les stratégies de planificateur disponibles, consultez PolicyElementKey, énumération.

SchedulingProtocolType, énumération

Utilisé par la stratégie SchedulingProtocol pour décrire l'algorithme de planification qui sera utilisé pour le planificateur.Pour plus d'informations sur les stratégies de planificateur disponibles, consultez PolicyElementKey, énumération.

SwitchingProxyState, énumération

Utilisé pour indiquer l'état dans lequel se trouve un proxy de thread, lorsqu'il exécute un basculement de contexte coopératif vers un proxy de thread différent.

task_group_status, énumération

Décrit l'état d'exécution d'un objet task_group ou structured_task_group.Une valeur de ce type est retournée par de nombreuses méthodes qui attendent que les tâches planifiées pour un groupe de tâches se terminent.

WinRTInitializationType, énumération

Utilisé par la stratégie d' WinRTInitialization pour décrire si et comment les fenêtres d'exécution sont initialisées sur des threads de planificateur pour une application exécutée sur les systèmes d'exploitation avec les fenêtres de version 8 ou ultérieure.Pour plus d'informations sur les stratégies de planificateur disponibles, consultez PolicyElementKey, énumération.

Dd492819.collapse_all(fr-fr,VS.110).gifFonctions

Nom

Description

Alloc, fonction

Alloue un bloc de mémoire de la taille spécifiée du runtime d'accès concurrentiel mise en cache Suballocator.

asend, fonction

Surchargé.Opération d'envoi asynchrone qui planifie une tâche permettant de propager les données au bloc cible.

cancel_current_task, fonction

Annule la tâche en cours.Cette fonction peut être appelée à partir de le corps d'une tâche d'interrompre l'exécution de la tâche et la faire passer à l'état d' canceled .Pendant qu'elle peut être utilisée en réponse à la fonction d' is_task_cancellation_requested , vous pouvez également l'utiliser en soi, pour initialiser l'annulation de la tâche qui exécute actuellement.

Ce n'est pas un scénario pris en charge pour appeler cette fonction si vous n'êtes pas dans le corps d' task.Cela entraîne un comportement non défini comme un incident ou un coup dans votre application.

create_async, fonction

Crée un élément asynchrone d'exécution de fenêtres selon un objet fourni par l'utilisateur lambda ou de fonction.Le type de retour d' create_async est un d' IAsyncAction^, d' IAsyncActionWithProgress<TProgress>^, d' IAsyncOperation<TResult>^, ou d' IAsyncOperationWithProgress<TResult, TProgress>^ sur la signature du lambda passé à la méthode.

create_task, fonction

Surchargé.Crée un objet de modèles parallèles tâche .create_task peut vous être utilisée n'importe où aurait utilisé un constructeur de tâche.Il lui affecte principalement pour des raisons de commodité, car il permet l'utilisation du mot clé d' auto lors de la création des tâches.

CreateResourceManager, fonction

Retourne une interface qui représente l'instance de singleton du Gestionnaire de ressources du runtime d'accès concurrentiel.Le Gestionnaire des ressources est chargé d'assigner des ressources aux planificateurs qui souhaitent coopérer les uns avec les autres.

DisableTracing, fonction

Désactive le suivi dans le runtime d'accès concurrentiel.Cette fonction est déconseillée car le traçage ETW est annulé l'enregistrement par défaut.

EnableTracing, fonction

Active le suivi dans le runtime d'accès concurrentiel.Cette fonction est déconseillée car le traçage ETW est désormais activé par défaut.

Free, fonction

Libère un bloc de mémoire précédemment allouée par la méthode d' Alloc le runtime d'accès concurrentiel mise en cache Suballocator.

GetExecutionContextId, fonction

Retourne un identificateur unique qui peut être assigné à un contexte d'exécution qui implémente l'interface IExecutionContext.

GetOSVersion, fonction

Retourne la version du système d'exploitation.

GetProcessorCount, fonction

Retourne le nombre de threads matériels sur le système sous-jacent.

GetProcessorNodeCount, fonction

Retourne le nombre de nœuds NUMA ou packages de processeur sur le système sous-jacent.

GetSchedulerId, fonction

Retourne un identificateur unique qui peut être assigné à un planificateur qui implémente l'interface IScheduler.

interruption_point, fonction

Crée un point d'interruption pour l'annulation.Si une annulation est en cours dans le contexte dans lequel cette fonction est appelée, elle lève une exception interne qui interrompt l'exécution du travail parallèle en cours.Si l'annulation n'est pas en cours, la fonction ne fait rien.

is_current_task_group_canceling, fonction

Retourne une indication spécifiant si le groupe de tâches qui s'exécute actuellement inline sur le contexte actuel est en cours d'annulation (ou le sera bientôt).Notez que si aucun groupe de tâches ne s'exécute actuellement inline dans le contexte actuel, false sera retourné.

is_task_cancellation_requested, fonction

Retourne une indication de si la tâche qui exécute actuellement a reçu une demande d'annulation son exécution.L'annulation est demandée sur une tâche si la tâche a été créée avec un jeton d'annulation, et la source de jeton associé à ce jeton est annulée.

make_choice, fonction

Surchargé.Construit un bloc de messagerie choice à partir d'un Scheduler ou ScheduleGroup facultatif et entre deux et dix sources d'entrée.

make_greedy_join, fonction

Surchargé.Construit un bloc de messagerie greedy multitype_join à partir d'un Scheduler ou ScheduleGroup facultatif et entre deux et dix sources d'entrée.

make_join, fonction

Surchargé.Construit un bloc de messagerie non_greedy multitype_join à partir d'un Scheduler ou ScheduleGroup facultatif et entre deux et dix sources d'entrée.

make_task, fonction

Méthode de fabrique pour la création d'un objet task_handle.

parallel_buffered_sort, fonction

Surchargé.Réorganise les éléments dans une plage spécifiée dans une commande nondescending, ou selon un critère de classement spécifié par un attribut binaire, en parallèle.Cette fonction est sémantiquement semblable à std::sort car elle est basé comparer-, instable, le tri sur place à la différence qu'elle a besoin d'espace supplémentaire d' O(n) , et nécessite une initialisation par défaut pour les éléments sont triés.

parallel_for, fonction

Surchargé.parallel_for itère au sein d'une plage d'index et exécute une fonction fournie par utilisateur à chaque itération, en parallèle.

parallel_for_each, fonction

Surchargé.parallel_for_each applique une fonction spécifiée à chaque élément dans une plage, en parallèle.Elle est sémantiquement équivalente à la fonction for_each dans l'espace de noms std, mais l'itération des éléments est exécutée en parallèle et l'ordre d'itération n'est pas spécifié.L'argument _Func doit prendre en charge un opérateur d'appel de fonction de la forme operator()(T), où le paramètre T est le type d'élément du conteneur sur lequel l'itération est réalisée.

parallel_invoke, fonction

Surchargé.Exécute les objets de fonction fournis comme paramètres en parallèle et se bloque jusqu'à la fin de leur exécution.Chaque objet de fonction peut être une expression lambda, un pointeur vers une fonction ou tout objet qui prend en charge l'opérateur d'appel de fonction avec la signature void operator()().

parallel_radixsort, fonction

Surchargé.Réorganise des éléments dans une plage spécifiée dans un ordre décroissant non à l'aide d'un algorithme de tri de radis.C'est une fonction stable de tri qui requiert une fonction de projection qui peuvent projeter des éléments pour être triée en clés comme un entier non signées.L'initialisation par défaut est requise pour les éléments sont triés.

parallel_reduce, fonction

Surchargé.Calcule la somme de tous les éléments dans une plage spécifiée lors de le calcul des totaux partielles consécutives, ou calcule le résultat des résultats partiels successifs de obtenus d'utiliser une opération binaire spécifiée autre que la somme, en parallèle.parallel_reduce sémantiquement est semblable à std::accumulate, mais il requiert que l'opération binaire d'être associative, et requiert une valeur d'identité au lieu d'une valeur initiale.

parallel_sort, fonction

Surchargé.Réorganise les éléments dans une plage spécifiée dans une commande nondescending, ou selon un critère de classement spécifié par un attribut binaire, en parallèle.Cette fonction est sémantiquement semblable à std::sort car il s'agit d'un tri comparer- basé, instable, sur place.

parallel_transform, fonction

Surchargé.Applique un objet spécifié de fonction à chaque élément dans une plage source, ou une paire d'éléments des deux plages sources, et copie les valeurs de retour de l'objet de fonction dans une plage de destination, en parallèle.Ce func est sémantiquement équivalente à std::transform.

receive, fonction

Surchargé.Implémentation receive générale permettant à un contexte d'attendre des données d'une source exactement et de filtrer les valeurs acceptées.

run_with_cancellation_token, fonction

Exécute un objet de fonction immédiatement et de façon synchrone dans le contexte d'une donnée jeton d'annulation.

send, fonction

Surchargé.Opération d'envoi synchrone qui attend que la cible accepte ou refuse le message.

set_task_execution_resources, fonction

Surchargé.Restreint les ressources d'exécution utilisées par les threads de travail internes du runtime d'accès concurrentiel à l'affinité définie spécifiée.

Elle est valide pour appeler cette méthode uniquement avant que le gestionnaire de ressources a été créé, ou entre deux durées de vie du gestionnaire des ressources.Elle peut être appelée plusieurs fois à condition que le gestionnaire de ressources n'existe pas au moment de l'appel.Une fois la limite d'affinité a été définie, elle reste en effet jusqu ' à le prochain appel valide à la méthode d' set_task_execution_resources .

Le masque d'affinité a fourni n'a pas besoin d'être un sous-ensemble du masque d'affinité de processus.L'affinité de processus sera mise à jour si nécessaire.

swap, fonction

Échange les éléments de deux objets concurrent_vector.

Trace_agents_register_name, fonction

Associe le nom au bloc ou l'agent de message de la trace ETW.

try_receive, fonction

Surchargé.Implémentation try-receive générale permettant à un contexte de rechercher des données d'une source exactement et de filtrer les valeurs acceptées.Si les données ne sont pas prêtes, la méthode retournera la valeur false.

wait, fonction

Suspend le contexte actuel pour une durée spécifiée.

when_all, fonction

Surchargé.Crée une tâche qui se terminera correctement lorsque toutes les tâches fournies comme arguments se terminent correctement.

when_any, fonction

Surchargé.Crée une tâche qui se terminera correctement lorsque les tâches l'une des fournies comme arguments est terminée avec succès.

Dd492819.collapse_all(fr-fr,VS.110).gifOpérateurs

Nom

Description

operator!=, opérateur

Teste si l'objet concurrent_vector à gauche de l'opérateur n'est pas égal à l'objet concurrent_vector du côté droit.

operator&&, opérateur

Surchargé.Crée une tâche qui se terminera correctement lorsque les deux tâches fournies comme arguments se terminent correctement.

operator||, opérateur

Surchargé.Crée une tâche qui se terminera correctement lorsque l'un ou l'autre des tâches fournies comme arguments est terminée avec succès.

operator<, opérateur

Teste si l'objet concurrent_vector à gauche de l'opérateur est inférieur à l'objet concurrent_vector du côté droit.

operator<=, opérateur

Teste si l'objet concurrent_vector à côté gauche de l'opérateur est inférieur ou égal à l'objet concurrent_vector du côté droit.

operator==, opérateur

Teste si l'objet concurrent_vector à gauche de l'opérateur est égal à l'objet concurrent_vector du côté droit.

operator>, opérateur

Teste si l'objet concurrent_vector à gauche de l'opérateur est supérieur à l'objet concurrent_vector du côté droit.

operator>=, opérateur

Teste si l'objet concurrent_vector à gauche de l'opérateur est supérieur ou égal à l'objet concurrent_vector du côté droit.

Dd492819.collapse_all(fr-fr,VS.110).gifConstantes

Nom

Description

AgentEventGuid, constante

Un GUID de catégorie ({B9B5B78C - 0713 à 4898 - 21. les A C. 67949DCED07}) qui décrivent les événements ETW déclenchés par la bibliothèque d'agents dans le runtime d'accès concurrentiel.

ChoreEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec des tâches.

ConcRT_ProviderGuid, constante

GUID du fournisseur ETW pour le runtime d'accès concurrentiel.

CONCRT_RM_VERSION_1, constante

Indique la prise en charge de l'interface du Gestionnaire de ressources définie dans Visual Studio 2010.

ConcRTEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel qui n'est pas décrit plus spécifiquement par une autre catégorie.

ContextEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec des contextes.

COOPERATIVE_TIMEOUT_INFINITE, constante

Valeur qui indique qu'une attente ne doit jamais expirer.

COOPERATIVE_WAIT_TIMEOUT, constante

Valeur qui indique qu'une attente a expiré.

INHERIT_THREAD_PRIORITY, constante

Valeur spéciale pour la clé de stratégie ContextPriority qui indique que la priorité de thread de tous les contextes du planificateur doit être la même que celle du thread ayant créé le planificateur.

LockEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec des verrous.

MaxExecutionResources, constante

Valeur spéciale pour les clés de stratégie MinConcurrency et MaxConcurrency.Prend comme valeur par défaut le nombre de threads matériels sur l'ordinateur en l'absence d'autres contraintes.

PPLParallelForeachEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec l'utilisation de la fonction parallel_for_each.

PPLParallelForEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec l'utilisation de la fonction parallel_for.

PPLParallelInvokeEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec l'utilisation de la fonction parallel_invoke.

ResourceManagerEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec le gestionnaire des ressources.

ScheduleGroupEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec des groupes de planning.

SchedulerEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec l'activité du planificateur.

VirtualProcessorEventGuid, constante

Catégorie GUID qui décrit des événements ETW déclenchés par le runtime d'accès concurrentiel directement en rapport avec des processeurs virtuels.

Configuration requise

en-tête : agents.h, concrt.h, concrtrm.h, concurrent_priority_queue.h, concurrent_queue.h, concurrent_unordered_map.h, concurrent_unordered_set.h, concurrent_vector.h, ppl.h, ppltasks.h

Voir aussi

Autres ressources

Référence (runtime d'accès concurrentiel)