Context-Klasse
Stellt eine Abstraktion für einen Ausführungskontext dar.
class Context;
Member
Öffentliche Methoden
Name |
Beschreibungen |
---|---|
Blockiert den aktuellen Anforderungskontext. |
|
Gibt einen Zeiger auf den aktuellen Kontext zurück. |
|
Gibt einen Bezeichner für den Kontext zurück, der innerhalb des Planers eindeutig ist, zu dem der Kontext gehört. |
|
Gibt einen Bezeichner für die Planungsgruppe zurück, an der der Kontext gerade arbeitet. |
|
Gibt einen Bezeichner für den virtuellen Prozessor zurück, auf dem der Kontext gerade ausgeführt wird. |
|
Gibt einen Bezeichner für den aktuellen Kontext zurück, der innerhalb des Planers eindeutig ist, zu dem der aktuelle Kontext gehört. |
|
Gibt zurück, ob die Aufgabenauflistung, die gerade inline auf dem aktuellen Kontext ausgeführt wird, in diesem Moment (oder in Kürze) einen Abbruch durchführt. |
|
Bestimmt, ob der Kontext synchron blockiert ist. Ein Kontext wird als synchron blockiert angesehen, wenn er explizit eine zu einer Blockierung führende Aktion ausgeführt hat. |
|
Fügt einen zusätzlichen virtuellen Prozessor für die Dauer eines Codeblocks in einen Planer ein, wenn er auf einem Kontext aufgerufen wird, der auf einem der virtuellen Prozessoren in diesem Planer ausgeführt wird. |
|
Gibt einen Bezeichner für die Planungsgruppe zurück, an der der aktuelle Kontext arbeitet. |
|
Hebt die Blockierung des Kontexts auf und bewirkt, dass er ausführbar wird. |
|
Gibt einen Bezeichner für den virtuellen Prozessor zurück, auf dem der aktuelle Kontext ausgeführt wird. |
|
Setzt die Ausführung aus, damit ein anderer Kontext ausgeführt werden kann. Wenn kein anderer Kontext für eine Übergabe verfügbar ist, kann der Planer ggf. an einen anderen Betriebssystemthread übergeben. |
Geschützte Operatoren
Name |
Beschreibungen |
---|---|
Ein Context-Objekt wird intern von der Laufzeit zerstört. Explizites Löschen ist nicht möglich. |
Hinweise
Der Concurrency Runtime-Planer (siehe Scheduler) verwendet Ausführungskontexte, um die von der Anwendung in die Warteschlange gestellten Arbeiten auszuführen. Ein Win32-Thread und ein im Benutzermodus planbarer (User Mode Schedulable, UMS) Thread sind Beispiele für Ausführungskontexte unter einem Windows-Betriebssystem. UMS-Threads werden nur unter 64-Bit-Betriebssystemen mit Version Windows 7 und höher unterstützt.
Die Parallelitätsebene eines Planers ist immer gleich der Anzahl virtueller Prozessoren, die vom Ressourcen-Manager gewährt wurden. Ein virtueller Prozessor ist eine Abstraktion für eine Verarbeitungsressource und wird einem Hardwarethread des zugrunde liegenden Systems zugeordnet. Nur ein einzelner Planerkontext darf jeweils auf einem virtuellen Prozessor ausgeführt werden.
Der Planer grundsätzlich kooperativ, und ein Ausführungskontext gibt seinen virtuellen Prozessor möglicherweise jederzeit für einen anderen Kontext frei, wenn er in einen Wartezustand wechseln möchte. Wenn der Wartevorgang erfüllt wurde, kann keine Fortsetzung erfolgen, bis ein verfügbarer virtueller Prozessor vom Planer mit der Ausführung beginnt.
Vererbungshierarchie
Anforderungen
Header: concrt.h
Namespace: Concurrency