Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предоставляет методы, позволяющие ведущему приложению выполнять запросы среды CLR или уведомлять среду CLR о связанной задаче.
Методы
| Метод | Описание |
|---|---|
| Метод Abort | Запрашивает, чтобы среда CLR прервала задачу, представленную текущим ICLRTask экземпляром. |
| Метод ExitTask | Уведомляет среду CLR о завершении задачи, связанной с текущим ICLRTask экземпляром, и пытается корректно завершить задачу. |
| Метод GetMemStats | Получает статистические сведения об использовании ресурсов памяти задачей, представленной текущим ICLRTask экземпляром. |
| Метод LocksHeld | Возвращает количество блокировок, удерживаемых в данный момент в задаче. |
| Метод NeedsPriorityScheduling | Возвращает значение, указывающее, должен ли узел назначать высокий приоритет для перепланирования задачи, представленной текущим ICLRTask экземпляром. |
| Метод Reset | Сообщает среде CLR о том, что узел завершил задачу, и позволяет среде CLR повторно использовать текущий ICLRTask экземпляр для представления другой задачи. |
| Метод RudeAbort | Вызывает немедленное прерывание среды CLR задачи, представленной текущим ICLRTask экземпляром, без гарантии выполнения методов завершения. |
| Метод SetTaskIdentifier | Задает уникальный идентификатор задачи, представленной текущим ICLRTask экземпляром, для использования в отладке. |
| Метод SwitchIn | Уведомляет среду CLR о том, что задача, представленная текущим ICLRTask экземпляром, находится в работоспособном состоянии. |
| Метод SwitchOut | Уведомляет среду CLR о том, что задача, представленная текущим ICLRTask экземпляром, больше не находится в работоспособном состоянии. |
| Метод YieldTask | Запрашивает, чтобы среда CLR была доступна для других задач. Среда CLR не гарантирует, что задача будет помещена в состояние, в котором она может дать время обработки. |
Комментарии
— ICLRTask это представление задачи для среды CLR. В любой момент выполнения кода задачу можно описать как выполняющуюся или ожидающую выполнения. Узел вызывает ICLRTask::SwitchIn метод , чтобы уведомить среду CLR о том, что задача, представленная текущим ICLRTask экземпляром, теперь находится в работоспособном состоянии. После вызова ICLRTask::SwitchInузел может запланировать задачу в любом потоке операционной системы, за исключением случаев, когда среде выполнения требуется сопоставление потоков, как указано в вызовах методов IHostTaskManager::BeginThreadAffinity и IHostTaskManager::EndThreadAffinity . Через некоторое время операционная система может решить удалить задачу из потока и поместить ее в нерабочем состоянии. Например, это может произойти всякий раз, когда задача блокирует примитивы синхронизации или ожидает завершения операций ввода-вывода. Узел вызывает SwitchOut , чтобы уведомить среду CLR о том, что задача, представленная текущим ICLRTask экземпляром, больше не находится в работоспособном состоянии.
Задача обычно завершается в конце выполнения кода. В это время узел вызывает ICLRTask::ExitTask , чтобы уничтожить связанный ICLRTaskобъект . Однако задачи также можно перезаработать с помощью вызова ICLRTask::Reset, который позволяет ICLRTask повторно использовать экземпляр . Такой подход предотвращает многократное создание и уничтожение экземпляров.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MSCorEE.h
Библиотека: Включается в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с версии 2.0.