Поделиться через


Метод IExecutionResource::Remove

Возвращает этот ресурс выполнения диспетчеру ресурсов.

virtual void Remove(
   IScheduler * pScheduler
) =0;

Параметры

  • pScheduler
    Интерфейс к планировщик, посылающий запрос, чтобы удалить этот ресурс выполнения.

Заметки

Этот метод используется для возврата автономных ресурсов выполнения, а также ресурсов выполнения, связанных с корнями виртуальных процессоров, диспетчеру ресурсов.

Если это автономный выполнения ресурс, полученный из любого из методов ISchedulerProxy::SubscribeCurrentThread или ISchedulerProxy::RequestInitialVirtualProcessors, вызов метода Remove будет заканчиваться подпиской потока, для представления которого был создан ресурс. Требуется завершить всех подписки потоков перед завершением работы прокси планировщика, а также необходимо вызвать Remove из потока, создавшего подписку.

Корни виртуального процессора также могут быть возвращены диспетчеру ресурсов путем вызова метода Remove, поскольку интерфейс IVirtualProcessorRoot наследуется от интерфейса IExecutionResource. Может быть необходимо вернуть корень виртуального процессора либо в ответ на вызов метода IScheduler::RemoveVirtualProcessors или по завершении работы с переподписанным корнем виртуального процессора, полученного из метода ISchedulerProxy::CreateOversubscriber. Для корней виртуальных процессоров не налагается никаких ограничений, какой поток может вызвать метод Remove.

Создается invalid_argument, если параметру pScheduler присвоено значение NULL.

invalid_operation выбрасывается, если параметр pScheduler отличается от планировщика, для которого этот ресурс выполнения был создан или, с автономным ресурсом выполнения, если текущий поток отличается от потока, который создал подписку потока.

Требования

Заголовок: concrtrm.h

Пространство имен: Concurrency

См. также

Ссылки

invalid_argument Class

Класс invalid_operation

Другие ресурсы

Структура IExecutionResource