Context, classe

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

class Context;

Membres

Méthodes publiques

Nom

Description

Context::Block, méthode

Bloque le contexte actuel.

Context::CurrentContext, méthode

Retourne un pointeur au contexte actuel.

Context::GetId, méthode

Retourne un identificateur pour le contexte qui est unique dans le planificateur auquel le contexte appartient.

Context::GetScheduleGroupId, méthode

Retourne un identificateur pour le groupe de planification sur lequel le contexte fonctionne actuellement.

Context::GetVirtualProcessorId, méthode

Retourne un identificateur pour le processeur virtuel sur lequel le contexte s'exécute actuellement.

Context::Id, méthode

Retourne un identificateur pour le contexte actuel qui est unique dans le planificateur auquel le contexte actuel appartient.

Context::IsCurrentTaskCollectionCanceling, méthode

Retourne une indication spécifiant si la collection de tâches qui s'exécute actuellement inline sur le contexte actuel est en cours d'annulation (ou le sera bientôt).

Context::IsSynchronouslyBlocked, méthode

Détermine si le contexte est bloqué de façon synchrone. Un contexte est considéré pour être bloqué de façon synchrone s'il a exécuté explicitement une action qui a mené au blocage.

Context::Oversubscribe, méthode

Injecte un processeur virtuel supplémentaire dans un planificateur pour la durée d'un bloc de code en cas d'appel sur un contexte s'exécutant sur l'un des processeurs virtuels dans ce planificateur.

Context::ScheduleGroupId, méthode

Retourne un identificateur pour le groupe de planification sur lequel le contexte actuel fonctionne.

Context::Unblock, méthode

Débloque le contexte et le rend exécutable.

Context::VirtualProcessorId, méthode

Retourne un identificateur pour le processeur virtuel sur lequel le contexte actuel s'exécute.

Context::Yield, méthode

Provoque l'exécution afin qu'un autre contexte puisse s'exécuter. Si aucun autre contexte n'est disponible, le planificateur peut passer à un autre thread de système d'exploitation.

Opérateurs protégés

Nom

Description

Context::operator, opérateur delete

Un objet Context est détruit en interne par l'exécution. Il ne peut pas être supprimé explicitement.

Notes

Le planificateur de runtime d'accès concurrentiel (voir Planificateur) utilise des contextes d'exécution pour exécuter le travail mis en file d'attente par votre application sur le planificateur. Un thread Win32 et un thread UMS (user mode schedulable) sont des exemples de contextes d'exécution dans un système d'exploitation Windows. Les threads UMS sont pris en charge uniquement sur les systèmes d'exploitation 64 bits avec la version Windows 7 et supérieure.

À tout moment, le niveau d'accès concurrentiel d'un planificateur est égal au nombre de processeurs virtuels qui lui sont accordés par le Gestionnaire des ressources. Un processeur virtuel est une représentation abstraite d'une ressource de traitement qui mappe à un thread matériel dans le système sous-jacent. Seul un contexte de planificateur unique peut s'exécuter sur un processeur virtuel à un moment donné.

Le planificateur est coopératif par nature et un contexte en cours d'exécution peut conduire son processeur virtuel dans un contexte différent à tout moment s'il souhaite entrer dans un état d'attente. À l'issue de l'attente, il ne peut pas reprendre tant qu'un processeur virtuel disponible dans le planificateur commence à l'exécuter.

Hiérarchie d'héritage

Contexte

Configuration requise

En-tête : concrt.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

Concurrency, espace de noms

Scheduler, classe

Concepts

Planificateur de tâches (runtime d'accès concurrentiel)