Supongamos que el siguiente código se está ejecutando mediante 10 subprocesos.Cómo permitir que ciertos subprocesos tengan prioridad para bloquear un uso de mutex PTHREADS
pthread_mutex_lock(&lock)
Some trivial code
pthread_mutex_unlock(&lock)
fines de explicaciones digamos que los hilos son T1, T2, T3 ..... T10. Mi requisito es que mientras T1 o T2 o T3 (es decir, cualquiera de T1, T2 o T3) esté esperando la adquisición de un bloqueo, el otro lo enrosque T4, T5, T6 ..... T10 no debería ser capaz de adquirir el bloqueo, es decir, T1, T2 y T3 deben tener prioridad para adquirir el bloqueo con respecto a otros hilos.
supongo que podría hacerse aumentando la prioridad de hilos T1, T2 y T3
es decir, aquí está el código de pseudo
if this thread is T1 or T2 or T3
increase its priority
pthread_mutex_lock(&lock)
Some trivial code
pthread_mutex_unlock(&lock)
if this thread is T1 or T2 or T3 decrease it priority to normal
Tenga en cuenta que yo quiero una solución que sea obras para Plataforma Linux y debería usar pthreads. Realmente no me importa ninguna otra plataforma.
También tenga en cuenta que realmente no quiero hacer estos 3 hilos en tiempo real, quiero que muestren su comportamiento definitivo (programación y prioridad), salvo que en el pequeño fragmento de código antes mencionado quiero que siempre tener prioridad en la adquisición de bloqueo.
He leído algunas páginas del manual sobre políticas de planificación y prioridades de programación en Linux, pero no puedo distinguir :(
es que esto funciona? ¿Me puede ayudar con la API pthread exacta requerida para realizar la tarea anterior ?
Saludos lali
considere agregar la etiqueta 'c' ya que solo unos pocos desarrolladores están viendo las preguntas sin una etiqueta de lenguaje de programación. – Dummy00001
muchas gracias, sí, es similar a la implementación de bloqueos de lectura y escritura. Gracias a todos :) – ghayalcoder