Compartir a través de


IUMSScheduler (Estructura)

Una interfaz a una abstracción de un programador de trabajo que quiere que el Administrador de Recursos del Runtime de Concurrencia le proporcione subprocesos programables en modo de usuario (UMS). El Administrador de recursos usa esta interfaz para comunicarse con los programadores de subprocesos UMS. La interfaz IUMSScheduler hereda de la interfaz IScheduler .

Sintaxis

struct IUMSScheduler : public IScheduler;

Miembros

Métodos públicos

Nombre Descripción
IUMSScheduler::SetCompletionList Asigna una interfaz IUMSCompletionList a un planificador de hilos UMS.

Comentarios

Si está implementando un programador personalizado que se comunica con Resource Manager, y desea que los subprocesos de UMS se entreguen a su programador en lugar de a subprocesos normales de Win32, debe proporcionar una implementación de la interfaz IUMSScheduler. Además, debe establecer el valor de directiva para la clave de directiva del programador SchedulerKind en UmsThreadDefault. Si la directiva especifica el subproceso de UMS, la interfaz de IScheduler que se pasa como parámetro al método IResourceManager::RegisterScheduler debe ser una interfaz de IUMSScheduler.

El Resource Manager puede entregarle subprocesos UMS solo en sistemas operativos que tengan la característica UMS. Los subprocesos UMS se admiten en sistemas operativos de 64 bits con Windows 7 o una versión posterior. Si crea una directiva de programador con la clave de SchedulerKind establecida en el valor UmsThreadDefault y la plataforma subyacente no admite UMS, el valor de la clave de SchedulerKind de esa directiva se cambiará al valor ThreadScheduler. Siempre debe volver a leer este valor de directiva antes de esperar recibir subprocesos UMS.

La interfaz de IUMSScheduler es un extremo de un canal bidireccional para la comunicación entre un planificador y el Gestor de Recursos. El otro extremo se representa mediante las interfaces IResourceManager y ISchedulerProxy, que implementa el Resource Manager.

Jerarquía de herencia

IScheduler

IUMSScheduler

Requisitos

Encabezado: concrtrm.h

Espacio de nombres: simultaneidad

IUMSScheduler::SetCompletionList Método

Asigna una interfaz IUMSCompletionList a un programador UMS de subprocesos.

virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;

Parámetros

listaDeFinalización
La interfaz de lista de tareas completadas para el planificador. Hay una sola lista por programador.

Comentarios

El Resource Manager invocará este método en un programador que especifica que quiere subprocesos de UMS, después de que el programador haya solicitado una asignación inicial de recursos. El programador puede usar la interfaz de IUMSCompletionList para determinar cuándo se han desbloqueado los proxies de hilos UMS. Es válido acceder a esta interfaz únicamente desde un proxy de subproceso que se ejecuta en una raíz de procesador virtual asignada al administrador de UMS.

Consulte también

espacio de nombres de concurrencia
PolicyElementKey
IScheduler (estructura)
Estructura IUMSCompletionList
IResourceManager (estructura)