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。
如果形参 pScheduler 与为其创建此执行资源的计划程序不同,或与使用独立执行资源的计划程序不同,如果当前线程与创建线程订阅的线程不同,则会引发 invalid_operation。
要求
**标头:**concrtrm.h
命名空间: 并发