IExecutionResource::Remove 方法

将此执行资源返回到资源管理器。

virtual void Remove(
   IScheduler * pScheduler
) =0;

参数

  • pScheduler
    要发出请求以删除此执行资源的计划程序的接口。

备注

使用此方法将独立执行资源,以及与虚拟处理器根关联的执行资源返回到资源管理器。

如果这是从 ISchedulerProxy::SubscribeCurrentThreadISchedulerProxy::RequestInitialVirtualProcessors 方法接收的独立执行资源,调用方法 Remove 将结束创建该资源来表示的线程订阅。 需要在关闭计划程序代理之前,结束所有线程子订阅,并且必须从创建子订阅的线程调用 Remove

虚拟处理器根也可返回至资源管理器,方法是调用 Remove 方法,这是由于接口 IVirtualProcessorRoot 继承自 IExecutionResource 接口。 可能需要返回虚拟处理器根以响应对 IScheduler::RemoveVirtualProcessors 方法的调用,或者当您完成对获取自 ISchedulerProxy::CreateOversubscriber 方法的过度订阅的虚拟处理器根时。 对于虚拟处理器根,对哪个线程可以调用 Remove 方法没有任何限制。

如果参数 pScheduler 设置为 NULL,则引发 invalid_argument

如果形参 pScheduler 与为其创建此执行资源的计划程序不同,或与使用独立执行资源的计划程序不同,如果当前线程与创建线程订阅的线程不同,则会引发 invalid_operation

要求

**标头:**concrtrm.h

命名空间: 并发

请参见

参考

invalid_argument Class

invalid_operation 类

其他资源

IExecutionResource 结构