Compartir a través de


Context (Clase)

Representa una abstracción para un contexto de ejecución.

class Context;

Miembros

Constructores protegidos

Name

Descripción

Context::~Context (Destructor)

Métodos públicos

Name

Descripción

Context::Block (Método)

Bloquea el contexto actual.

Context::CurrentContext (Método)

Devuelve un puntero al contexto actual.

Context::GetId (Método)

Devuelve un identificador para el contexto que es único dentro del programador al que pertenece el contexto.

Context::GetScheduleGroupId (Método)

Devuelve un identificador para el grupo de programación en el que el contexto está trabajando actualmente.

Context::GetVirtualProcessorId (Método)

Devuelve un identificador para el procesador virtual en el que el contexto se está ejecutando actualmente.

Context::Id (Método)

Devuelve un identificador para el contexto actual que es único dentro del programador al que pertenece el contexto actual.

Context::IsCurrentTaskCollectionCanceling (Método)

Devuelve una indicación de si la colección de tareas que actualmente se ejecuta alineada en el contexto actual, está en medio de una cancelación activa (o lo estará pronto).

Context::IsSynchronouslyBlocked (Método)

Determina si el contexto está o no bloqueado de forma sincrónica. Se considera que un contexto está bloqueado de forma sincrónica si realizó una acción que condujo al bloqueo explícitamente.

Context::Oversubscribe (Método)

Inserta un procesador virtual adicional en un programador para la duración de un bloque de código cuando se invoca en un contexto que se ejecuta en uno de los procesadores virtuales de ese programador.

Context::ScheduleGroupId (Método)

Devuelve un identificador para el grupo de programación en el que el contexto actual está trabajando.

Context::Unblock (Método)

Desbloquea el contexto y hace que se convierta en ejecutable.

Context::VirtualProcessorId (Método)

Devuelve un identificador para el procesador virtual en el que el contexto actual se está ejecutando.

Context::Yield (Método)

Genera la ejecución para que otro contexto se pueda ejecutar. Si no hay ningún otro contexto disponible para dar prioridad, el programador puede dar prioridad a otro subproceso del sistema operativo.

Comentarios

El programador del runtime de simultaneidad (vea Programador) usa contextos de ejecución para ejecutar el trabajo de cola para su aplicación. Un subproceso de Win32 es un ejemplo de un contexto de ejecución en un sistema operativo Windows.

En cualquier momento, el nivel de simultaneidad de un programador es igual al número de procesadores virtuales que le ha concedido el Administrador de recursos. Un procesador virtual es una abstracción para un recurso de procesamiento y se asigna a un subproceso del hardware en el sistema subyacente. Solo se puede ejecutar un único contexto del programador en un procesador virtual a una hora determinada.

El programador es cooperativo por su naturaleza y un contexto de ejecución puede producir su procesador virtual en un contexto diferente en cualquier momento si desea escribir un estado de espera. Cuando la espera se cumple, no se puede volver a reanudar hasta que un procesador virtual disponible del programador comienza su ejecución.

Jerarquía de herencia

Context

Requisitos

Encabezado: concrt.h

Espacio de nombres: simultaneidad

Vea también

Referencia

concurrency (Espacio de nombres)

Scheduler (Clase)

Conceptos

Programador de tareas (Runtime de simultaneidad)