winbase.h


GetThreadPriority

Devuelve el valor de prioridad para un hilo especificado. Este valor, junto con la clase de prioridad del proceso del hilo, determina el nivel base de prioridad del hilo.

Sintaxis

int GetThreadPriority(
    HANDLE hThread  // manipulador del hilo
   );

Parámetros:

hThread: identifica el hilo. El manipulador debe tener acceso THREAD_QUERY_INFORMATION.

Valor de retorno

Si la función tiene éxito, el valor de retorno es el nivel de prioridad del hilo.

Si la función falla, el valor de retorno es THREAD_PRIORITY_ERROR_RETURN. Para obtener mayor información sobre el error, llamar a GetLastError.

El nivel de prioridad del hilo es uno de los siguientes valores:

Prioridad Significado
THREAD_PRIORITY_ABOVE_NORMAL Indica 1 punto sobre la prioridad normal de la prioridad de la clase.
THREAD_PRIORITY_BELOW_NORMAL Indica 1 punto bajo la prioridad normal de la prioridad de la clase.
THREAD_PRIORITY_HIGHEST Indica 2 puntos sobre la prioridad normal de la prioridad de la clase.
THREAD_PRIORITY_IDLE Indica un nivel de prioridad base de 1 para procesos IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS o HIGH_PRIORITY_CLASS, y un nivel de prioridad base de 16 para procesos REALTIME_PRIORITY_CLASS.
THREAD_PRIORITY_LOWEST Indica 2 puntos bajo la prioridad normal de la prioridad de la clase
THREAD_PRIORITY_NORMAL Indica la prioridad normal para la prioridad de la clase.
THREAD_PRIORITY_TIME_CRITICAL Indica un nivel de prioridad base de 15 para procesos IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS o HIGH_PRIORITY_CLASS, y un nivel de prioridad base de 31 para procesos REALTIME_PRIORITY_CLASS.

Observaciones

Todos los hilos tienen un nivel de prioridad base determinado por el valor de prioridad del hilo y la clase de prioridad de su proceso. El sistema operativo usa el nivel de prioridad base de todos los hilos ejecutables para determinar qué hilo tomará el siguiente tramo de tipo de CPU. Los hilos son clasificados en distintas tablas para cada nivel de prioridad, y sólo cuando no hay hilos ejecutables en la tabla de nivel más alto se empezará a tomar la tabla de un nivel más bajo.

Para ver una tabla que muestre los niveles de prioridad base para cada combinación de clase de prioridad y valores de prioridad de hilo, consultar la función SetPriorityClass.