Context::Block, méthode

Bloque le contexte actuel.

static void __cdecl Block();

Notes

Cette méthode entraînera la création du planificateur par défaut du processus et/ou son attachement au contexte d'appel si aucun planificateur n'est actuellement associé au contexte d'appel.

Si le contexte d'appel s'exécute sur un processeur virtuel, le processeur virtuel recherchera un autre contexte exécutable pour exécuter ou peut potentiellement créer un nouveau.

Une fois que la méthode d' Block a été appelée ou appelée, vous devez l'associer à un appel à la méthode de débloquez d'un autre contexte d'exécution pour qu'il exécute à nouveau.Sachez qu'il existe une période critique entre le moment où votre code publie son contexte pour qu'un autre thread puisse appeler la méthode Unblock et le moment où l'appel de méthode réel à Block est effectué.Pendant cette période, vous ne devez appeler aucune méthode qui peut ensuite se bloquer et débloquer pour son propre raisons (par exemple, acquérant un verrou).Les appels aux méthodes Block et Unblock n'effectuent pas le suivi de la raison du blocage et du déblocage.Un seul objet doit être propriétaire d'une paire Block- Unblock.

Cette méthode peut lever diverses exceptions, y compris scheduler_resource_allocation_error.

Configuration requise

En-tête : concrt.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

Context, classe

Context::Unblock, méthode

Concepts

Planificateur de tâches (runtime d'accès concurrentiel)