Classe Scheduler

Consente di rappresentare un'astrazione per un'utilità di pianificazione del runtime di concorrenza.

class Scheduler;

Membri

Costruttori protetti

Nome

Oggetto di descrizione

Costruttore Scheduler::Scheduler

Un oggetto della classe Scheduler può creato utilizzando solo metodi factory o in modo implicito.

Distruttore Scheduler::~Scheduler

Un oggetto della classe Scheduler è distrutto in modo implicito quando tutti i riferimenti esterni a lui cessano di esistere.

Metodi pubblici

Nome

Oggetto di descrizione

Metodo Scheduler::Attach

Allega l'utilità di pianificazione al contesto di chiamata. Dopo la restituzione di questo metodo, il contesto di chiamata viene gestito dall'utilità di pianificazione e l'utilità di pianificazione diventa l'utilità di pianificazione corrente.

Metodo Scheduler::Create

Crea una nuova utilità di pianificazione il cui comportamento viene descritto dal parametro _Policy, posiziona un riferimento iniziale nell'utilità di pianificazione e gli restituisce un puntatore.

Metodo Scheduler::CreateScheduleGroup

Crea un nuovo gruppo di pianificazione all'interno dell'utilità di pianificazione.

Metodo Scheduler::GetNumberOfVirtualProcessors

Consente di restituire il numero corrente di processori virtuali per l'utilità di pianificazione.

Metodo Scheduler::GetPolicy

Consente di restituire una copia dei criteri con cui è stata creata l'utilità di pianificazione.

Metodo Scheduler::Id

Consente di restituire un identificatore univoco per l'utilità di pianificazione.

Metodo Scheduler::Reference

Incrementa il conteggio dei riferimenti di questa utilità di pianificazione.

Metodo Scheduler::RegisterShutdownEvent

Consente all'handle dell'evento Windows passato nel parametro _Event di essere segnalato quando l'utilità di pianificazione si chiude e si distrugge. Al momento della segnalazione dell'evento, tutto il lavoro che è stato pianificato per l'utilità di pianificazione viene completato. Questo metodo può registrare più eventi di arresto.

Metodo Scheduler::Release

Decrementa il conteggio dei riferimenti di questa utilità di pianificazione.

Metodo Scheduler::ResetDefaultSchedulerPolicy

Consente di reimpostare i criteri dell'utilità di pianificazione predefiniti sulle impostazioni predefinite di runtime. La volta successiva in cui si crea un'utilità di pianificazione predefinita, si utilizzeranno le impostazioni dei criteri predefiniti di runtime.

Metodo Scheduler::ScheduleTask

Consente di pianificare un'attività semplificata all'interno dell'utilità di pianificazione. L'attività semplificata sarà posizionata in un gruppo di pianificazione scelto dal runtime.

Metodo Scheduler::SetDefaultSchedulerPolicy

Consente che criteri definiti dall'utente siano utilizzati per creare l'utilità di pianificazione predefinita. Tale metodo può essere chiamato solo quando non esiste alcuna utilità di pianificazione predefinita all'interno del processo. Una volta impostati i criteri predefiniti, questi restano validi fino alla prossima chiamata valida al metodo SetDefaultSchedulerPolicy o ResetDefaultSchedulerPolicy.

Note

L'utilità di pianificazione del runtime di concorrenza utilizza contesti di esecuzione che eseguono il mapping ai contesti di esecuzione del sistema operativo come un thread o un thread UMS, per effettuare il lavoro posti in coda dall'applicazione. In qualsiasi momento, il livello di concorrenza di un'utilità di pianificazione è uguale al numero di processore virtuale concessogli dal gestore risorse. Un processore virtuale è un'astrazione per una risorsa di elaborazione e corrisponde a un thread di hardware sul sistema sottostante. È possibile che solo un singolo contesto dell'utilità di pianificazione sia eseguito su un processore virtuale a un'ora specificata.

Il runtime di concorrenza creerà un'utilità di pianificazione predefinita per processo per eseguire un lavoro parallelo. È inoltre possibile creare istanze dell'utilità di pianificazione e modificarle utilizzando questa classe.

Gerarchia di ereditarietà

Scheduler

Requisiti

Header: concrt.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency

Classe Scheduler

Enumerazione PolicyElementKey

Concetti

Utilità di pianificazione (runtime di concorrenza)