Condividi tramite


Classe Context

Consente di rappresentare un'astrazione per un contesto di esecuzione.

class Context;

Membri

Dd470850.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

Metodo Context::Block

Blocca la richiesta corrente.

Metodo Context::CurrentContext

Consente di restituire un puntatore al contesto corrente.

Metodo Context::GetId

Consente di restituire un identificatore per il contesto che è univoco all'interno dell'utilità di pianificazione a cui appartiene il contesto.

Metodo Context::GetScheduleGroupId

Consente di restituire un identificatore per il gruppo di pianificazione su cui sta funzionando attualmente il contesto.

Metodo Context::GetVirtualProcessorId

Consente di restituire un identificatore per il processore virtuale su cui è attualmente in esecuzione il contesto.

Metodo Context::Id

Consente di restituire un identificatore per il contesto corrente che è univoco all'interno dell'utilità di pianificazione a cui appartiene il contesto corrente.

Metodo Context::IsCurrentTaskCollectionCanceling

Consente di restituire un'indicazione se la raccolta di attività attualmente in esecuzione inline sul contesto corrente si trova nel mezzo di un annullamento attivo (o lo sarà a breve).

Metodo Context::IsSynchronouslyBlocked

Determina se il contesto è bloccato in modo sincrono o meno.Si considera che un contesto sia bloccato in modo sincrono se ha eseguito in modo esplicito un'azione che ha condotto al blocco.

Metodo Context::Oversubscribe

Inietta un processore virtuale aggiuntivo in un'utilità di pianificazione per la durata di un blocco di codice in caso di richiamo su un contesto che esegue uno dei processori virtuali in quell'utilità di pianificazione.

Metodo Context::ScheduleGroupId

Consente di restituire un identificatore per il gruppo di pianificazione su cui sta funzionando il contesto corrente.

Metodo Context::Unblock

Consente di sbloccare il contesto e determinare che diventi eseguibile.

Metodo Context::VirtualProcessorId

Consente di restituire un identificatore per il processore virtuale su cui è in esecuzione il contesto corrente.

Metodo Context::Yield

Restituisce l'esecuzione in modo da poter eseguire un altro contesto.Se nessun altro contesto disponibile per rendere, l'utilità di pianificazione può rendere un altro thread del sistema operativo.

Dd470850.collapse_all(it-it,VS.110).gifOperatori protetti

Nome

Descrizione

Operatore Context::operator delete

Un oggetto Context è distrutto internamente dal runtime.Impossibile eliminare in modo esplicito.

Note

L'utilità di pianificazione del runtime di concorrenza (vedere Utilità di pianificazione) utilizza contesti di esecuzione per effettuare il lavoro posti in coda dall'applicazione.Un thread Win32 è un esempio di un contesto di esecuzione in un sistema operativo Windows.

In qualsiasi momento, il livello di concorrenza di un'utilità di pianificazione è uguale al numero di processori virtuale concessi dal gestore risorse.Un processore virtuale è un'astrazione per una risorsa di elaborazione e corrisponde a un thread di hardware sul sistema sottostante.Un unico contesto dell'utilità di pianificazione possibile eseguire in un dato momento in un processore virtuale.

L'utilità di pianificazione è cooperativa in natura e un contesto di esecuzione può rendere il relativo processore virtuale in un contesto diverso in qualsiasi momento se si desidera immettere uno stato di attesa.Quando viene soddisfatta la relativa attesa, non è possibile ripristinarlo finché un processore virtuale disponibile dell'utilità di pianificazione non ne inizia l'esecuzione.

Gerarchia di ereditarietà

Context

Requisiti

Header: concrt.h

Concorrenza diSpazio dei nomi:

Vedere anche

Riferimenti

Spazio dei nomi concurrency

Classe Scheduler

Concetti

Utilità di pianificazione (runtime di concorrenza)