Comunicación entre dos hilos en pthread

Estoy creando dos hilos thread1 y thread2. Thread1 está leyendo el valor analógico y thread2 procesará el valor analógico que se lee en thread1 y establece los argumentos PWM. Lo que he hecho hasta ahora es que, en el archivo principal (donde estoy creando hilos), declaré una variable global (para almacenar el valor analógico) y pasé el puntero a la variable global a ambos hilos. En thread1, el valor analógico de lectura se almacena en la variable global y en thread2 lee la variable global y la procesa. Entonces, mi pregunta es ¿hay alguna otra manera de hacer esto? es decir, tenemos semáforo, mutex, etc., ¿cuál es el más adecuado para esta aplicación?

Respuestas a la pregunta(2)

Su respuesta a la pregunta