Hola gente, ¿Cómo están? todo bien?
Mi duda es la siguiente:
Tengo que hacer un programa que ejecute dos funciones como threads (hebras).
Uno de las hebras tiene que leer los datos del teclado, almacenar la información en una variable global y luego en un archivo de texto y el otro la tiene que transmitir las variables por un sockets inet.
La duda es la siguiente:
Leyendo varios tutoriales y ejemplos de código vi la siguiente metodología:
·1ero: Se declaran las variables globales
·2do: Programan las funciones que serán trheads (usando los mutex)
·3ero: Se crean n threads con ayudas de bucles
·4to: Esperan a que terminan de ejecutarse los threds.
Mi duda es la siguiente: El usuario va a ingresar n datos por teclados (no se cuantos) ¿Es necesario crear n threads para capturar los datos y n threads para enviarlos?. O bien solamente basta con crear dos y utilizar algún método para ejecutarlo?.
Si sólo basta crear 2 threads con pthread_create ¿Qué función es necesaria para que se ejecute n veces ese thread antes de terminar? Los manuales que leí usan pthread_exit en la función que será la hebra y pthread_join para esperar a que termine la ejecución de la hebra y devuelva algún valor.
Desde ya muchas gracias.
Saludos.