Compartir a través de


Context (Clase)

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

class Context;

Miembros

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 sincrónicamente 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 actualmente.

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.

Operadores protegidos

Name

Descripción

Context::operator delete (Operador)

Un objeto Context se destruye internamente por el runtime. No se puede eliminar explícitamente.

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 y un subproceso programable de modo usuario (UMS) son ejemplos de contextos de ejecución en un sistema operativo Windows. Los subprocesos UMS se admiten únicamente en sistemas operativos de 64 bits con versión de Windows 7 y superior.

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

Contexto

Requisitos

Encabezado: concrt.h

Espacio de nombres: Simultaneidad

Vea también

Referencia

Espacio de nombres de simultaneidad

Scheduler (Clase)

Conceptos

Programador de tareas (Runtime de simultaneidad)