Freigeben über


IThreadProxy::SwitchOut-Methode

Blockiert den gerade ausführenden Threadproxy, bis er von einem verfügbaren virtuellen Prozessorstamm fortgesetzt werden kann.

virtual void SwitchOut() =0;

Hinweise

Verwenden Sie SwitchOut, um einen derzeit ausgeführten Threadproxy zu blockieren, nachdem Sie den Stamm des zugrunde liegenden virtuellen Prozessors aufgegeben haben. Diese Methode ist nützlich, wenn Sie die Anzahl der Stämme virtueller Prozessoren für den Planer verringern möchten, da der Ressourcen-Manager Sie angewiesen hat, dies zu tun oder Sie den Stamm eines überzeichneten temporären virtuellen Prozessors angefordert haben und diesen nicht mehr benötigen. Der Threadproxy kann die Ausführung fortsetzen, wenn ein anderer virtueller Prozessorstamm im Planer für die Ausführung verfügbar ist.

Der blockierende Threadproxy kann fortgesetzt werden, indem die Funktion SwitchTo aufgerufen wird, um zum Ausführungskontext dieses Threadproxys zu wechseln. Sie können auch den Threadproxy fortsetzen, indem Sie seinen zugeordneten Kontext verwenden, um den Stamm eines virtuellen Prozessors zu aktivieren. Weitere Informationen hierzu finden Sie unter IVirtualProcessorRoot::Activate.

SwitchOut muss für die IThreadProxy-Schnittstelle aufgerufen werden, die den gerade ausgeführten Thread darstellt, oder die Ergebnisse sind nicht definiert.

Anforderungen

Header: concrtrm.h

Namespace: Concurrency

Siehe auch

Referenz

IThreadProxy-Struktur