Udostępnij za pośrednictwem


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::SwitchInhost 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

Zobacz też