Esperando en múltiples eventos C ++

Existe una forma recomendada de esperar en múltiples entradas. Por ejemplo, me gustaría que mi programa pueda recibir información de 3 fuentes:

Escuche en una condición de hilo, p. Ej. pthread_cond_wait ()

Tomar datos de la entrada estándar, p. obtener línea(

Escucha en un zócalo, p. aceptar(

¿Cuál es la mejor manera de lograr esto? ¿Necesito un hilo para cada fuente de entrada diferente? Gracia

Respuestas a la pregunta(8)

Su respuesta a la pregunta