Бөлісу құралы:


Интерфейс ICLRTask2

Предоставляет все функциональные возможности интерфейса ICLRTask ; кроме того, предоставляет методы, которые позволяют задерживать прерывания потока в текущем потоке.

Методы

Метод Описание
Метод BeginPreventAsyncAbort Задерживает запросы прерывания нового потока в текущем потоке.
Метод EndPreventAsyncAbort Позволяет новым или ожидая запросам прерывания потока привести к прерыванию потока в текущем потоке.

Комментарии

Интерфейс ICLRTask2 наследует ICLRTask интерфейс и добавляет методы, позволяющие узлу задерживать прерывания потоков, чтобы защитить область кода, которая не должна завершаться сбоем. Вызов BeginPreventAsyncAbort увеличивает значение счетчика delay-thread-abort для текущего потока, а вызов EndPreventAsyncAbort уменьшает его. Вызовы к BeginPreventAsyncAbort и EndPreventAsyncAbort могут быть вложенными. Пока значение счетчика больше нуля, прерывания потока для текущего потока задерживаются.

Если вызовы и BeginPreventAsyncAbortEndPreventAsyncAbort не связаны, можно достичь состояния, в котором прерывания потока не могут быть доставлены в текущий поток.

Задержка не учитывается для потока, который прерывает себя.

Функциональные возможности, предоставляемые этой функцией, используются внутри виртуальной машины. Неправильное использование этих методов может привести к неопределенному поведению на виртуальной машине. Например, при вызове EndPreventAsyncAbort без первого вызова BeginPreventAsyncAbort счетчик может быть равен нулю, если виртуальная машина ранее увеличила его. Аналогичным образом внутренний счетчик не проверяется на переполнение. Если он превышает целочисленное ограничение, так как увеличивается как узлом, так и виртуальной машиной, результирующее поведение не указано.

Сведения о членах, унаследованных от ICLRTask , и о других способах использования этого интерфейса см. в разделе Интерфейс ICLRTask .

Требования

Платформы: см. раздел Требования к системе.

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

Библиотека: Включено в качестве ресурса в MSCorEE.dll

версии платформа .NET Framework: доступно с 4

См. также раздел