IUMSScheduler 구조체
동시성 런타임의 리소스 관리자를 통해 UMS(사용자 모드 예약 가능) 스레드를 전달하려는 작업 스케줄러의 추상화에 대한 인터페이스입니다. 리소스 관리자는 이 인터페이스를 사용하여 UMS 스레드 스케줄러와 통신합니다. IUMSScheduler
인터페이스는 IScheduler
인터페이스에서 상속됩니다.
구문
struct IUMSScheduler : public IScheduler;
멤버
공용 메서드
이름 | 설명 |
---|---|
IUMSScheduler::SetCompletionList | IUMSCompletionList UMS 스레드 스케줄러에 인터페이스를 할당합니다. |
설명
Resource Manager와 통신하는 사용자 지정 스케줄러를 구현하고 일반 Win32 스레드 대신 UMS 스레드를 스케줄러에 전달하려는 경우 인터페이스 구현을 IUMSScheduler
제공해야 합니다. 또한 스케줄러 정책 키 SchedulerKind
에 대한 정책 값을 설정해야 합니다 UmsThreadDefault
. 정책이 UMS 스레드 IScheduler
를 지정하는 경우 IResourceManager::RegisterScheduler 메서드에 매개 변수로 전달되는 인터페이스는 인터페이스여야 IUMSScheduler
합니다.
Resource Manager는 UMS 기능이 있는 운영 체제에서만 UMS 스레드를 전달할 수 있습니다. 버전 Windows 7 이상의 64비트 운영 체제는 UMS 스레드를 지원합니다. 키가 값 UmsThreadDefault
으로 SchedulerKind
설정된 스케줄러 정책을 만들고 기본 플랫폼이 UMS를 지원하지 않는 경우 해당 정책의 SchedulerKind
키 값이 값ThreadScheduler
으로 변경됩니다. UMS 스레드를 받기 전에 항상 이 정책 값을 다시 읽어야 합니다.
인터페이스는 IUMSScheduler
스케줄러와 Resource Manager 간의 양방향 통신 채널의 한쪽 끝입니다. 다른 쪽 끝은 Resource Manager에서 IResourceManager
구현하는 인터페이스 및 ISchedulerProxy
인터페이스로 표시됩니다.
상속 계층 구조
IUMSScheduler
요구 사항
헤더: concrtrm.h
네임스페이스: 동시성
IUMSScheduler::SetCompletionList 메서드
IUMSCompletionList
UMS 스레드 스케줄러에 인터페이스를 할당합니다.
virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;
매개 변수
pCompletionList
스케줄러에 대한 완성 목록 인터페이스입니다. 스케줄러당 단일 목록이 있습니다.
설명
Resource Manager는 스케줄러가 리소스의 초기 할당을 요청한 후 UMS 스레드를 원하는 것을 지정하는 스케줄러에서 이 메서드를 호출합니다. 스케줄러는 인터페이스를 IUMSCompletionList
사용하여 UMS 스레드 프록시가 차단 해제된 시기를 결정할 수 있습니다. UMS 스케줄러에 할당된 가상 프로세서 루트에서 실행되는 스레드 프록시에서만 이 인터페이스에 액세스할 수 있습니다.
참고 항목
concurrency 네임스페이스
PolicyElementKey
IScheduler 구조체
IUMSCompletionList 구조체
IResourceManager 구조체