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 EndPreventAsyncAbort
BeginPreventAsyncAbort
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