Partager via


Context::Unblock, méthode

Débloque le contexte et le rend exécutable.

virtual void Unblock() =0;

Notes

Il est parfaitement conforme pour un appel à la méthode Unblock de précéder un appel correspondant à la méthode Block.Tant que les appels aux méthodes Block et Unblock sont appariés correctement, le runtime gère correctement le cours normal des deux ordres.Un appel Unblock qui vient avant un appel Block annule simplement l'effet de l'appel Block.

Plusieurs exceptions peuvent être levées par cette méthode.Si un contexte essaie d'appeler la méthode Unblock elle-même, une exception context_self_unblock sera levée.Si les appels à Block et l' Unblock ne sont pas correctement appariés (par exemple, deux appels à Unblock sont apportées pour un contexte en cours de exécution), une exception de context_unblock_unbalanced sera levée.

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 et Unblock.

Configuration requise

En-tête : concrt.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

Context, classe

Context::Block, méthode

Concepts

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