Interface de ICLRTask2
Fornece toda a funcionalidade da ICLRTask interface; Além disso, fornece métodos que permitem que as anulações de thread seja atrasada no thread atual.
Métodos
Método |
Descrição |
---|---|
Novo segmento de atrasos anular solicitações no thread atual. |
|
Permite que novos ou segmento anular solicitações pendentes para resultar em um thread anula no thread atual. |
Comentários
O ICLRTask2 interface herda de ICLRTask interface e adiciona os métodos que permitem que o host atrasar anulações de threads, para proteger uma região de código que deve falhar. Chamando BeginPreventAsyncAbort incrementa o contador de anulação de thread de atraso para o segmento atual e a chamada EndPreventAsyncAbort decrementa proprietário. Chamadas para BeginPreventAsyncAbort e EndPreventAsyncAbort podem ser aninhados. Desde que o contador é maior que zero, atraso anulações de thread para o segmento atual.
Se chama BeginPreventAsyncAbort e EndPreventAsyncAbort não são emparelhados, é possível alcançar um estado no qual thread anulações não podem ser entregue para a thread atual.
O atraso não é respeitado por um segmento que anula a mesmo.
A funcionalidade que é exposta por esse recurso é usada internamente pela máquina virtual (VM). Uso inadequado desses métodos pode causar um comportamento não especificado na VM. Por exemplo, chamando EndPreventAsyncAbort sem primeira chamada BeginPreventAsyncAbort foi possível definir o contador para zero quando a VM anteriormente foi incrementado proprietário. Da mesma forma, o contador interno não é verificado para estouro. Se ele exceder seu limite integral porque ele é incrementado por host e a VM, o comportamento resultante não for especificado.
Para informações sobre membros herdados de ICLRTask e sobre outros usos dessa interface, consulte a ICLRTask interface.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso em mscoree
.NET Framework versões: 4