Compartir a través de


Context::Block (Método)

Bloquea el contexto actual.

_CRTIMP static void __cdecl Block();

Comentarios

Este método dará como resultado el programador predeterminado del proceso que se va a crear o a adjuntar al contexto de la llamada si no hay ningún programador actualmente asociado con el contexto de la llamada.

Si el contexto de la llamada se está ejecutando en un procesador virtual, el procesador virtual encontrará otro contexto del runnable para ejecutar o puede crear un nuevo.

Una vez llamado el método Block, o se tiene pensado llamarlo, debe emparejarlo con una llamada al método Unblock desde otro contexto de ejecución para se ejecute de nuevo. Tenga en cuenta que hay un período crítico entre el punto donde su código publica su contexto para que otro subproceso pueda llamar al método Unblock y el punto donde se realiza la llamada a Block del método real. Durante este período, es imperativo que no llame a ningún método que a su vez se pueda bloquear y desbloquear por sus propias razones (por ejemplo: adquirir un bloqueo). Las llamadas al método Unblock y Block no realizan el seguimiento de los motivos para bloqueo y desbloqueo. Solo un objeto debería tener la propiedad de un par Block-Unblock.

Este método puede producir diferentes excepciones, incluyendo scheduler_resource_allocation_error.

Requisitos

Encabezado: concrt.h

Espacio de nombres: Simultaneidad

Vea también

Referencia

Context (Clase)

Context::Unblock (Método)

Conceptos

Programador de tareas (Runtime de simultaneidad)