Freigeben über


Context::Block-Methode

Blockiert den aktuellen Anforderungskontext.

static void __cdecl Block();

Hinweise

Diese Methode führt zum Erstellen des Standardplaner des Prozesses und/oder dazu, dass dieser an den aufrufenden Kontext angefügt wird, wenn es keinen dem aufrufenden Kontext gerade zugeordneten Planer gibt.

Wenn der aufrufende Kontext auf einen virtuellen Prozessor ausgeführt wird, sucht der virtuelle Prozessoren einen anderen ausführbaren Kontext zum Ausführen oder einen neuen erstellen können.

Nachdem die Block-Methode aufgerufen wurde oder aufgerufen werden kann, müssen Sie es mit einem Paar Heben Sie die Blockierung Aufruf der Methode aus einem anderen Ausführungskontext, damit er wieder ausgeführt wird.Beachten Sie, dass es einen kritischen Zeitraum zwischen dem Punkt gibt, an dem der Code seinen Kontext veröffentlicht, damit ein anderer Thread die Unblock-Methode aufrufen kann, und dem Punkt, zu dem der tatsächliche Aufruf der Block-Methode stattfindet.Während dieses Zeitraums dürfen Sie keine Methode aufrufen, die für seine eigenen Gründen wiederum blockieren und heben Sie die Blockierung möglich ist (z. B. eine Sperre abgerufen werden).Aufrufe der Block-Methode und der Unblock-Methode verfolgen den Grund für die Blockierung und das Befreien nicht.Nur ein Objekt darf ein Block/Unblock-Paar besitzen.

Diese Methode kann eine Vielzahl von Ausnahmen, z. B. scheduler_resource_allocation_error auslösen.

Anforderungen

Header: concrt.h

Namespace: Parallelität

Siehe auch

Referenz

Context-Klasse

Context::Unblock-Methode

Konzepte

Taskplaner (Concurrency Runtime)