다음을 통해 공유


ICLRTask 인터페이스

호스트에서 연결된 작업에 대해 CLR에 요청하거나 CLR에 알림을 제공하는 데 사용할 수 있는 메서드를 제공합니다.

메서드

메서드

설명

ICLRTask::Abort 메서드

현재 ICLRTask 인스턴스가 나타내는 작업을 중지하도록 CLR에 요청합니다.

ICLRTask::ExitTask 메서드

현재 ICLRTask 인스턴스와 연결된 작업이 종료됨을 CLR에 런타임에 알리고 정상적인 작업 종료를 시도합니다.

ICLRTask::GetMemStats 메서드

현재 ICLRTask 인스턴스가 나타내는 작업에 사용되는 메모리 리소스에 대한 통계 정보를 가져옵니다.

ICLRTask::LocksHeld 메서드

작업에 현재 설정되어 있는 잠금 수를 가져옵니다.

ICLRTask::NeedsPriorityScheduling 메서드

현재 ICLRTask 인스턴스가 나타내는 작업의 일정을 재조정하기 위해 호스트에서 높은 우선 순위를 할당하는지 여부를 나타내는 값을 가져옵니다.

ICLRTask::Reset 메서드

호스트에서 작업이 완료되었음을 CLR에 알리고 CLR에서 현재 ICLRTask 인스턴스를 다시 사용하여 다른 작업을 나타낼 수 있도록 합니다.

ICLRTask::RudeAbort 메서드

CLR에서 현재 ICLRTask 인스턴스가 나타내는 작업을 즉시 중단하도록 합니다. 이때 종료자는 실행되지 않을 수도 있습니다.

ICLRTask::SetTaskIdentifier 메서드

디버깅에 사용하기 위해 현재 ICLRTask 인스턴스가 나타내는 작업에 대해 고유 식별자를 설정합니다.

ICLRTask::SwitchIn 메서드

현재 ICLRTask 인스턴스가 나타내는 작업이 작동 가능한 상태임을 CLR에 알립니다.

ICLRTask::SwitchOut 메서드

현재 ICLRTask 인스턴스가 나타내는 작업이 더 이상 작동 가능한 상태가 아님을 CLR에 알립니다.

ICLRTask::YieldTask 메서드

프로세서 시간을 다른 작업에 사용할 수 있게 만들도록 CLR에 요청합니다. 그러나 CLR에서는 작업이 프로세서 시간을 양보할 수 있는 상태가 되지 않을 수도 있습니다.

설명

ICLRTask는 CLR의 작업을 나타냅니다. 코드 실행 중의 임의의 시점에 작업은 실행되고 있거나 실행을 대기하고 있는 것으로 표시될 수 있습니다. 호스트에서는 ICLRTask::SwitchIn 메서드를 호출하여 현재 ICLRTask 인스턴스가 나타내는 작업이 작동 가능한 상태에 있음을 CLR에 알립니다. ICLRTask::SwitchIn을 호출한 후에는 IHostTaskManager::BeginThreadAffinityIHostTaskManager::EndThreadAffinity 메서드 호출로 지정한 대로 런타임에 스레드 선호도가 필요한 경우를 제외하고 호스트에서 운영 체제 스레드의 작업을 예약할 수 있습니다. 얼마 후 운영 체제에서는 스레드에서 작업을 제거하고 작업을 실행되고 있지 않은 상태로 설정할 수 있습니다. 예를 들어 동기화 기본 형식에서 작업이 차단되거나 I/O 작업이 완료될 때까지 작업이 대기하고 있는 경우에는 항상 이렇게 될 수 있습니다. 호스트에서는 SwitchOut을 호출하여 현재 ICLRTask 인스턴스가 나타내는 작업이 더 이상 작동 가능한 상태가 아님을 CLR에 알립니다.

작업은 일반적으로 코드 실행이 끝날 때 종료됩니다. 이때 호스트에서는 ICLRTask::ExitTask를 호출하여 연결된 ICLRTask를 소멸시킵니다. 그러나 ICLRTask 인스턴스를 다시 사용할 수 있게 만드는 ICLRTask::Reset을 호출하여 작업을 재활용할 수도 있습니다. 이 방법을 사용하면 반복적으로 인스턴스를 만들고 소멸시키는 오버헤드를 피할 수 있습니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: MSCorEE.h

라이브러리: MSCorEE.dll에 리소스로 포함됨

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

참고 항목

참조

ICLRTaskManager 인터페이스

IHostTask 인터페이스

IHostTaskManager 인터페이스

ICLRTask2 인터페이스

기타 리소스

호스팅 인터페이스