Интерфейс ICLRTask2
Предоставляет все функциональные возможности интерфейса ICLRTask ; кроме того, предоставляет методы, которые позволяют задерживать прерывания потока в текущем потоке.
Методы
Метод | Описание |
---|---|
Метод BeginPreventAsyncAbort | Задерживает запросы прерывания нового потока в текущем потоке. |
Метод EndPreventAsyncAbort | Позволяет новым или ожидая запросам прерывания потока привести к прерыванию потока в текущем потоке. |
Комментарии
Интерфейс ICLRTask2
наследует ICLRTask
интерфейс и добавляет методы, позволяющие узлу задерживать прерывания потоков, чтобы защитить область кода, которая не должна завершаться сбоем. Вызов BeginPreventAsyncAbort
увеличивает значение счетчика delay-thread-abort для текущего потока, а вызов EndPreventAsyncAbort
уменьшает его. Вызовы к BeginPreventAsyncAbort
и EndPreventAsyncAbort
могут быть вложенными. Пока значение счетчика больше нуля, прерывания потока для текущего потока задерживаются.
Если вызовы и BeginPreventAsyncAbort
EndPreventAsyncAbort
не связаны, можно достичь состояния, в котором прерывания потока не могут быть доставлены в текущий поток.
Задержка не учитывается для потока, который прерывает себя.
Функциональные возможности, предоставляемые этой функцией, используются внутри виртуальной машины. Неправильное использование этих методов может привести к неопределенному поведению на виртуальной машине. Например, при вызове EndPreventAsyncAbort
без первого вызова BeginPreventAsyncAbort
счетчик может быть равен нулю, если виртуальная машина ранее увеличила его. Аналогичным образом внутренний счетчик не проверяется на переполнение. Если он превышает целочисленное ограничение, так как увеличивается как узлом, так и виртуальной машиной, результирующее поведение не указано.
Сведения о членах, унаследованных от ICLRTask
, и о других способах использования этого интерфейса см. в разделе Интерфейс ICLRTask .
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MSCorEE.h
Библиотека: Включено в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с 4