Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/05/2013, 12:35
amchacon
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 10 meses
Puntos: 28
Respuesta: funciones dentro de pthreads

Cita:
Iniciado por williamfj Ver Mensaje
Gracias por la respuesta amchacon ,si no entendí mal su repuesta no existe riesgo de corrupción de datos al invocar una función normal dentro de un pthread..con la posibilidad que sea invocada simultáneamente por pthreads paralelos.

me "patina" el concepto de las funciones con esta respuesta pero se ve que tiene mas experiencia con el manejo de hilos que yo.. así que seguiré con mi proyecto usando las funciones creadas por mi sin tanta desconfianza.
Tengo que decir que no soy un experto en hilos. Pero probando códigos como este:

Código:
#include <pthread.h>

void* Inicio(void*)
{
    sleep(1000);
    return NULL;
}

int main()
{
    pthread_t identificador[3];
    int i = 0;

     for (; i < 3;i++)
       pthread_create(&identificador[i], NULL,
       Inicio, NULL);

   for (i = 0; i < 3;i++)
    pthread_join(identificador[i],NULL);

    return 0;
}
Vemos que no hay problemas si tenemos dos funciones compartiendo el mismo hilo (este ejemplo se puede complicar tanto como quieras).

El único sosticio de polémica sería la "invocación", pero esque una invocación no es más que un salto en el código. No se modifica la función y por tanto no debería dar problema.

EDITO: Creo que sam lo ha explicado con palabras más claras.