Interfaccia ICLRTask
Fornisce metodi che consentono all'host di effettuare richieste di Common Language Runtime o di inviare a CLR notifiche sull'attività associata.
Metodi
Metodo |
Oggetto di descrizione |
---|---|
Richiede a Common Language Runtime di interrompere l'attività rappresentata dall'istanza corrente di ICLRTask. |
|
Notifica a Common Language Runtime che l'attività associata all'istanza corrente di ICLRTask sta terminando e tenta di chiudere l'attività normalmente. |
|
Ottiene informazioni statistiche sull'utilizzo delle risorse di memoria da parte dell'attività rappresentata dall'istanza corrente di ICLRTask. |
|
Ottiene il numero di blocchi attualmente definiti sull'attività. |
|
Ottiene un valore che indica se l'host deve assegnare una priorità alta alla ripianificazione dell'attività rappresentata dall'istanza corrente di ICLRTask. |
|
Informa Common Language Runtime che l'host ha completato un'attività e che è quindi possibile riutilizzare l'istanza corrente di ICLRTask per rappresentare un'altra attività. |
|
Fa sì che Common Language Runtime interrompa immediatamente l'attività rappresentata dall'istanza corrente di ICLRTask, senza la garanzia che i finalizzatori vengano eseguiti. |
|
Imposta un identificatore univoco per l'attività rappresentata dall'istanza corrente di ICLRTask, da utilizzare nel debug. |
|
Notifica a Common Language Runtime che l'attività rappresentata dall'istanza corrente di ICLRTask è in uno stato eseguibile. |
|
Notifica a Common Language Runtime che l'attività rappresentata dall'istanza corrente di ICLRTask non è più in uno stato eseguibile. |
|
Richiede che Common Language Runtime renda disponibile il tempo processore alle altre attività. Common Language Runtime non garantisce che lo stato definito per l'attività sarà in grado di produrre tempo di elaborazione. |
Note
Un oggetto ICLRTask è la rappresentazione di un'attività per Common Language Runtime. In un punto qualsiasi dell'esecuzione di codice un'attività può essere definita in esecuzione o in attesa di esecuzione. L'host chiama il metodo ICLRTask::SwitchIn per notificare a Common Language Runtime che l'attività rappresentata dall'istanza corrente di ICLRTask attualmente si trova in uno stato in cui può essere eseguita. Dopo una chiamata al metodo ICLRTask::SwitchIn, l'host può pianificare l'attività su qualsiasi thread del sistema operativo, eccetto i casi in cui Common Language Runtime richiede l'affinità di thread, come specificato dalle chiamate ai metodi IHostTaskManager::BeginThreadAffinity e IHostTaskManager::EndThreadAffinity. In seguito, il sistema operativo potrebbero decidere di rimuovere l'attività dal thread e definirne lo stato non di esecuzione. Ciò potrebbe verificarsi, ad esempio, ogni volta che l'attività si blocca sulla sincronizzazione delle primitive o è in attesa del completamento di operazioni di I/O. L'host chiama l'oggetto SwitchOut per notificare a Common Language Runtime che l'attività rappresentata dall'istanza corrente di ICLRTask non si trova più in uno stato in cui può essere eseguita.
Un'attività in genere termina alla fine dell'esecuzione del codice. In quel momento, l'host chiama il metodo ICLRTask::ExitTask per eliminare l'oggetto ICLRTaskassociato. Tuttavia, le attività possono essere riciclate utilizzando una chiamata al metodo ICLRTask::Reset, che consente di riutilizzare l'istanza di ICLRTask. Questo approccio impedisce il sovraccarico dovuto alle ripetute operazioni di creazione ed eliminazione delle istanze.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: inclusa come risorsa in MSCorEE.dll
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0