IExecutionResource::Remove-Methode

Gibt diese Ausführungsressource an den Ressourcen-Manager zurück.

virtual void Remove(
   IScheduler * pScheduler
) =0;

Parameter

  • pScheduler
    Eine Schnittstelle zu dem Planer, der die Anforderung zum Entfernen dieser Ausführungsressource stellt.

Hinweise

Verwenden Sie diese Methode, um eigenständige Ausführungsressourcen sowie Ausführungsressourcen zurückzugeben, die Stämmen virtueller Prozessoren für den Ressourcen-Manager zugeordnet sind.

Wenn dies eine eigenständige Ausführungsressource ist, die von der ISchedulerProxy::SubscribeCurrentThread-Methode oder der ISchedulerProxy::RequestInitialVirtualProcessors-Methode zurückgegeben wurde, beendet ein Aufruf der Remove-Methode das Threadabonnement, für das die Ressource erstellt wurde. Es ist erforderlich, alle Threadabonnements zu beenden, bevor ein Planerproxy beendet wird, und Sie müssen Remove vom Thread aufrufen, der das Abonnement erstellt hat.

Stämme virtueller Prozessoren können auch an den Ressourcen-Manager zurückgegeben werden, indem die Remove-Methode aufgerufen wird, da die Schnittstelle IVirtualProcessorRoot von der IExecutionResource-Schnittstelle erbt. Sie müssen möglicherweise den Stamm eines virtuellen Prozessors zurückgeben, entweder als Reaktion auf einen Aufruf der IScheduler::RemoveVirtualProcessors-Methode oder wenn Sie den Stamm eines überzeichneten virtuellen Prozessors, den Sie von der ISchedulerProxy::CreateOversubscriber-Methode abgerufen haben, nicht mehr benötigen. Für virtuelle Prozessorstämme gibt es keine Einschränkungen dahingehend, welcher Thread die Remove-Methode aufrufen kann.

invalid_argument wird ausgelöst, wenn der Parameter pScheduler auf den Wert NULL festgelegt wird.

invalid_operation wird ausgelöst, wenn sich der Parameter pScheduler vom Planer unterscheidet, für den diese Ausführungsressource erstellt wurde, oder wenn bei einer eigenständigen Ausführungsressource der aktuelle Thread von dem Thread abweicht, der das Threadabonnement erstellt hat.

Anforderungen

Header: concrtrm.h

Namespace: Concurrency

Siehe auch

Referenz

invalid_argument Class

invalid_operation-Klasse

Weitere Ressourcen

IExecutionResource-Struktur