ICLRTask — Interfejs
Udostępnia metody, które umożliwiają hostowi wysyłanie żądań środowiska uruchomieniowego języka wspólnego (CLR) lub powiadomienie do środowiska CLR o skojarzonym zadaniu.
Metody
Metoda | Opis |
---|---|
Abort — Metoda | Żąda, aby clR przerwał zadanie, które reprezentuje bieżące ICLRTask wystąpienie. |
ExitTask, metoda | Powiadamia clR, że zadanie skojarzone z bieżącym ICLRTask wystąpieniem kończy się i próbuje bezpiecznie zamknąć zadanie. |
GetMemStats, metoda | Pobiera informacje statystyczne dotyczące wykorzystania zasobów pamięci przez zadanie reprezentowane przez bieżące ICLRTask wystąpienie. |
LocksHeld, metoda | Pobiera liczbę blokad aktualnie przechowywanych w zadaniu. |
NeedsPriorityScheduling, metoda | Pobiera wartość wskazującą, czy host powinien przypisać wysoki priorytet w celu zmiany harmonogramu zadania reprezentowanego przez bieżące ICLRTask wystąpienie. |
Reset — Metoda | Informuje clR, że host ukończył zadanie i umożliwia clR ponowne użycie bieżącego ICLRTask wystąpienia w celu reprezentowania innego zadania. |
RudeAbort, metoda | Powoduje natychmiastowe przerwanie zadania reprezentowanego przez bieżące ICLRTask wystąpienie przez clR bez gwarancji, że finalizatory zostaną wykonane. |
SetTaskIdentifier, metoda | Ustawia unikatowy identyfikator zadania reprezentowanego przez bieżące ICLRTask wystąpienie do użycia podczas debugowania. |
SwitchIn, metoda | Powiadamia clR, że zadanie reprezentowane przez bieżące ICLRTask wystąpienie jest w stanie sprawnym. |
SwitchOut, metoda | Powiadamia CLR, że zadanie reprezentowane przez bieżące ICLRTask wystąpienie nie jest już w stanie czytelnym. |
YieldTask, metoda | Żądania, które CLR udostępniają czas procesora innym zadaniam. ClR nie gwarantuje, że zadanie zostanie umieszczone w stanie, w którym może przynieść czas przetwarzania. |
Uwagi
Element ICLRTask
to reprezentacja zadania dla środowiska CLR. W dowolnym momencie wykonywania kodu zadanie można opisać jako uruchomione lub czekające na uruchomienie. Host wywołuje metodę ICLRTask::SwitchIn
, aby powiadomić CLR, że zadanie, które reprezentuje bieżące ICLRTask
wystąpienie, jest teraz w stanie sprawnym. Po wywołaniu metody ICLRTask::SwitchIn
host może zaplanować zadanie w dowolnym wątku systemu operacyjnego, z wyjątkiem przypadków, w których środowisko uruchomieniowe wymaga koligacji wątku, zgodnie z wywołaniami elementu IHostTaskManager::BeginThreadAffinity i metodami IHostTaskManager::EndThreadAffinity . Jakiś czas później system operacyjny może zdecydować się na usunięcie zadania z wątku i umieszczenie go w stanie nieaktywnym. Na przykład może się to zdarzyć za każdym razem, gdy zadanie blokuje synchronizację elementów pierwotnych lub czeka na ukończenie operacji we/wy. Host wywołuje funkcję SwitchOut , aby powiadomić clR, że zadanie reprezentowane przez bieżące ICLRTask
wystąpienie nie jest już w stanie czytelnym.
Zadanie zazwyczaj kończy się na końcu wykonywania kodu. W tym czasie host wywołuje wywołanie ICLRTask::ExitTask
w celu zniszczenia skojarzonego elementu ICLRTask
. Jednak zadania mogą być również odzyskiane za pomocą wywołania metody ICLRTask::Reset
, co umożliwia ICLRTask
ponowne użycie wystąpienia. Takie podejście uniemożliwia wielokrotne tworzenie i niszczenie wystąpień.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: MSCorEE.h
Biblioteki: Uwzględnione jako zasób w MSCorEE.dll
.NET Framework wersje: dostępne od wersji 2.0