Context::Unblock-Methode
Hebt den Kontext die Blockierung und veranlasst sie ausgeführt werden sollen.
virtual void Unblock() =0;
Hinweise
Er ist für einen Aufruf der Unblock-Methode tadellos gültig, vor einem entsprechenden Aufruf der Block-Methode abzurufen.Solange Aufrufe der Block und Unblock-Methoden ordnungsgemäß zugeordnet sind, behandelt die Laufzeit ordnungsgemäß den natürlichen Rennen jeder Reihenfolge.Ein kommender Unblock Aufruf, bevor ein Block Aufruf einfach den Auswirkungen des Block Aufrufs negiert.
Es gibt einige Ausnahmen, die von dieser Methode ausgelöst werden können.Wenn ein Kontext versucht, die Unblock-Methode auf sich selbst aufrufen, wird eine context_self_unblock Ausnahme ausgelöst.Wenn Aufrufe Block und Unblock nicht richtig verknüpft sind (z. B. werden zwei Aufrufe Unblock für einen Kontext, der gerade ausgeführt wird context_unblock_unbalanced ), wird eine Ausnahme ausgelöst.
Beachten Sie, dass es sich um eine kritische Phase zwischen dem Punkt gibt, in dem der Code seinen Kontext veröffentlicht, damit ein anderer Thread in der Lage ist, die Unblock-Methode aufrufen und dem Punkt, an dem der tatsächliche Methodenaufruf Block gemacht wird.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 und Unblock-Methode verfolgen nicht die Ursache für das Blockieren und das Die Blockierung aufheben.Nur ein Objekt sollte im Besitz eines Block und Unblock Paars haben.
Anforderungen
Header: concrt.h
Namespace: Parallelität