다음을 통해 공유


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 인터페이스로 표시됩니다.

상속 계층 구조

Ischeduler

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 구조체