다음을 통해 공유


IExecutionResource::Remove 메서드

이 실행 리소스를 리소스 관리자에 반환합니다.

virtual void Remove(
   _Inout_ IScheduler * pScheduler
) =0;

매개 변수

  • pScheduler
    이 실행 리소스 제거를 요청하는 스케줄러에 대한 인터페이스입니다.

설명

독립 실행형 실행 리소스는 물론 가상 프로세서 루트와 연결된 실행 리소스를 리소스 관리자에 반환하려면 이 메서드를 사용합니다.

독립 실행형 리소스인 경우 메서드 ISchedulerProxy::SubscribeCurrentThread 또는 ISchedulerProxy::RequestInitialVirtualProcessors에서 수신되었으며, 메서드 Remove를 호출하면 리소스가 나타내려고 만든 스레드 구독을 종료합니다.스케줄러 프록시를 종료하기 전에 모든 스레드 구독을 종료해야 하며 구독을 만든 스레드에서 Remove를 호출해야 합니다.

루트 가상 프로세서, 너무, 반환할 리소스 관리자를 호출 하 여는 Remove 메서드를 때문에 인터페이스 IVirtualProcessorRoot 에서 상속 되는 IExecutionResource 인터페이스.IScheduler::RemoveVirtualProcessors 메서드에 대한 호출에 대한 응답으로 또는 ISchedulerProxy::CreateOversubscriber 메서드에서 얻은 초과 구독된 가상 프로세서 루트로 수행했을 때 가상 프로세서 루트를 반환해야 할 수 있습니다.가상 프로세서 루트의 경우 스레드가 호출할 수 있는 Remove 메서드에 대한 제한이 없습니다.

매개 변수 pScheduler가 NULL로 설정된 경우 invalid_argument가 throw됩니다.

매개 변수 pScheduler가 이 실행 리소스가 만들어진 스케줄러와 다르거나 독립 실행형 실행 리소스를 사용하여 현재 스레드가 스레드 구독을 만든 스레드와 다른 경우 invalid_operation이 throw됩니다.

요구 사항

헤더: concrtrm.h

네임 스페이스: 동시성

참고 항목

참조

IExecutionResource 구조체

invalid_argument Class

invalid_operation 클래스