Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Threads con ptrhead

Estas en el tema de Threads con ptrhead en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/02/2008, 14:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
Puntos: 0
Threads con ptrhead

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.
  #2 (permalink)  
Antiguo 18/02/2008, 05:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 163
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Threads con ptrhead

Lo mejor es hacer un thread que recolecte la informacion y otro que lo procese. Con el mutex ya lo estarias sincronizando asi que no necesitarias el join.
  #3 (permalink)  
Antiguo 18/02/2008, 13:34
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 10 meses
Puntos: 28
Re: Threads con ptrhead

Veamos....vamos por partes...
Cita:
Iniciado por tocino_lkdm Ver Mensaje
...
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?.
...
No es necesario, con 2 es suficiente tal como mencionas.
Cita:
Iniciado por tocino_lkdm Ver Mensaje
...
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.
...
No es necesaria ninguna función, con un while o un for que ejecute una serie de acciones n veces es suficiente. en tu caso es MUY necesario el uso de los mutex, ya que hay dos hilos que intentarán acceder al archivo uno que va a escribir y otro que va a leer, pero el que va a leer solo debería hacerlo una vez que el que escribe lo haga, así que debes sincronizar esos dos.

En tu main o cual sea la función debes esperar a que ambos hilos terminen lo que van a hacer si es que no se van a quedar residentes en memoria, porque de ser así entonces no es necesario a que esperes (pendiete con esto último que acabo de decir).

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:50.