Condividi tramite


Interfaccia ICLRTask2

Fornisce tutte le funzionalità dell'interfaccia ICLRTask. In aggiunta, fornisce metodi che consentono di ritardare l'interruzione del thread corrente.

Metodi

Metodo

Descrizione

Metodo ICLRTask2::BeginPreventAsyncAbort

Ritarda le nuove richieste di interruzione del thread corrente.

Metodo ICLRTask2::EndPreventAsyncAbort

Consente alle richieste di interruzione di thread, siano esse nuove o in sospeso, di comportare interruzioni nel thread corrente.

Note

L'interfaccia ICLRTask2 eredita l'interfaccia ICLRTask e aggiunge metodi che consentono all'host di ritardare le interruzioni di thread, allo scopo di proteggere un'area di codice che non deve avere esito negativo. La chiamata di BeginPreventAsyncAbort incrementa di uno il contatore di ritardo di interruzione del thread corrente, mentre la chiamata di EndPreventAsyncAbort lo decrementa. Le chiamate di BeginPreventAsyncAbort e EndPreventAsyncAbort possono essere annidate. Finché il contatore è maggiore di zero, le interruzioni del thread corrente vengono ritardate.

Se non si abbinano le chiamate di BeginPreventAsyncAbort e EndPreventAsyncAbort, è possibile raggiungere uno stato in cui le interruzioni di thread non possono essere eseguite per il thread corrente.

Il ritardo non viene rispettato per un thread che interrompe se stesso.

Le funzioni esposte da questa funzionalità sono utilizzate internamente dalla macchina virtuale (VM, Virtual Machine). L'utilizzo improprio di questi metodi può provocare comportamenti imprevisti nella VM. Ad esempio, se si chiama EndPreventAsyncAbort senza prima chiamare BeginPreventAsyncAbort è possibile che il contatore venga impostato su zero quando la VM l'ha incrementato in precedenza. Analogamente, per il contatore interno non viene eseguita alcuna verifica di overflow. Se tale contatore supera il proprio limite integrale poiché viene incrementato sia dall'host sia dalla VM, il comportamento risultante è imprevedibile.

Per informazioni sui membri ereditati da ICLRTask e sugli altri utilizzi di questa interfaccia, vedere l'interfaccia ICLRTask.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4

Vedere anche

Riferimenti

Interfaccia ICLRTask

Interfaccia ICLRTaskManager

Interfaccia IHostTask

Interfaccia IHostTaskManager

Altre risorse

Interfacce di hosting