Condividi tramite


Interfaccia ICLRTask2

Fornisce tutte le funzionalità dell'interfaccia ICLRTask ; fornisce inoltre metodi che consentono l'interruzione del thread nel thread corrente.

Metodi

Metodo Descrizione
Metodo BeginPreventAsyncAbort Ritarda le richieste di interruzione del nuovo thread nel thread corrente.
Metodo EndPreventAsyncAbort Consente alle richieste di interruzione del thread nuove o in sospeso per causare l'interruzione del thread nel thread corrente.

Commenti

L'interfaccia ICLRTask2 eredita l'interfaccia e aggiunge metodi che consentono all'host di ritardare l'interruzione ICLRTask del thread, per proteggere un'area di codice che non deve avere esito negativo. La chiamata BeginPreventAsyncAbort aumenta il contatore di ritardo-thread-abort per il thread corrente e chiama EndPreventAsyncAbort la decrementa. Le chiamate a BeginPreventAsyncAbort e EndPreventAsyncAbort possono essere annidate. Purché il contatore sia maggiore di zero, i thread interrotti per il thread corrente vengono ritardati.

Se le chiamate a BeginPreventAsyncAbort e EndPreventAsyncAbort non sono associate, è possibile raggiungere uno stato in cui non è possibile recapitare i thread al thread corrente.

Il ritardo non è onorato per un thread che si interrompe.

La funzionalità esposta da questa funzionalità viene usata internamente dalla macchina virtuale (VM). L'uso improprio di questi metodi può causare comportamenti non specificati nella macchina virtuale. Ad esempio, la chiamata senza prima chiamata EndPreventAsyncAbortBeginPreventAsyncAbort potrebbe impostare il contatore su zero quando la macchina virtuale l'ha incrementata in precedenza. Analogamente, il contatore interno non viene controllato per il overflow. Se supera il limite integrale perché viene incrementato sia dall'host che dalla macchina virtuale, il comportamento risultante non è specificato.

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

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile da 4

Vedi anche