Scheduler, classe

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

class Scheduler;

Membres

Constructeurs protégés

Nom

Description

Scheduler::Scheduler, constructeur

Un objet de la classe Scheduler peut uniquement être créé à l'aide de méthodes de fabrique, ou implicitement.

Scheduler::~Scheduler, destructeur

Un objet de la classe Scheduler est détruit implicitement lorsque toutes ses références externes cessent d'exister.

Méthodes publiques

Nom

Description

Scheduler::Attach, méthode

Attache le planificateur au contexte d'appel. Une fois que cette méthode a retourné une valeur, le contexte d'appel est géré par le planificateur et ce dernier devient le planificateur actuel.

Scheduler::Create, méthode

Crée un nouveau planificateur dont le comportement est décrit par le paramètre _Policy, place une référence initiale sur le planificateur et retourne un pointeur vers celui-ci.

Scheduler::CreateScheduleGroup, méthode

Crée un groupe de planification dans le planificateur.

Scheduler::GetNumberOfVirtualProcessors, méthode

Retourne le nombre actuel de processeurs virtuels pour le planificateur.

Scheduler::GetPolicy, méthode

Retourne une copie de la stratégie avec laquelle le planificateur a été créé.

Scheduler::Id, méthode

Retourne un identificateur unique pour le planificateur.

Scheduler::Reference, méthode

Incrémente le nombre de références du planificateur.

Scheduler::RegisterShutdownEvent, méthode

A pour effet de signaler le gestionnaire d'événements Windows passé dans le paramètre _Event lorsque le planificateur s'arrête et s'autodétruit. Au moment où l'événement est signalé, tout le travail qui avait été planifié par le planificateur est terminé. Plusieurs événements d'arrêt peuvent être enregistrés via cette méthode.

Scheduler::Release, méthode

Décrémente le décompte de références de ce planificateur.

Scheduler::ResetDefaultSchedulerPolicy, méthode

Réinitialise la stratégie du planificateur par défaut à la valeur par défaut de l'exécution. La prochaine fois qu'un planificateur par défaut sera créé, il utilisera les paramètres de stratégie par défaut du runtime.

Scheduler::ScheduleTask, méthode

Planifie une tâche légère dans le planificateur. La tâche légère sera placée dans un groupe de planification laissé au choix du runtime.

Scheduler::SetDefaultSchedulerPolicy, méthode

Autorise l'utilisation d'une stratégie définie par l'utilisateur pour créer le planificateur par défaut. Cette méthode peut être appelée uniquement lorsque aucun planificateur par défaut n'existe dans le processus. Une fois une stratégie par défaut définie, elle reste en vigueur jusqu'au prochain appel valide de la méthode SetDefaultSchedulerPolicy ou ResetDefaultSchedulerPolicy.

Notes

Le planificateur de runtime d'accès concurrentiel utilise des contextes d'exécution, qui sont mappés aux contextes d'exécution du système d'exploitation, tels qu'un thread ou un thread UMS, pour exécuter le travail mis en file d'attente par votre application sur le planificateur. À 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 runtime d'accès concurrentiel créera un planificateur par défaut par processus pour exécuter le travail parallèle. De plus vous pouvez créer vos propres instances du planificateur et le manipuler à l'aide de cette classe.

Hiérarchie d'héritage

Scheduler

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

PolicyElementKey, énumération

Concepts

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