Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/09/2009, 19:40
Avatar de kike00
kike00
 
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: error con hilos en este programa

lo que veo es que solo creas 2 hilos,
otra cosa, te puedes ahorrar un par de lineas si haces esto:
Código C:
Ver original
  1. if (pthread_create(&a_thread, NULL, thread_function,NULL)) {
  2.             printf("Thread creation failed");
  3.             return -1;
  4.     }
  5.     if (pthread_create(&b_thread, NULL, thread_function,NULL)) {
  6.             printf("Thread creation failed");
  7.             return -1;
  8.     }

y en vez de
Código C:
Ver original
  1. res = pthread_join(a_thread, &thread_result);
  2.          // Esperar a que terminen los hilos
  3.         if (res != 0)
  4.         {
  5.             perror("La unión del hilo ha fallado");
  6.             exit(EXIT_FAILURE);
  7.         }
  8.         res = pthread_join(b_thread, &thread_result);
  9.         if (res != 0)
  10.         {
  11.             perror("La unión del hilo ha fallado");
  12.             exit(EXIT_FAILURE);
  13.         }

pon

Código C:
Ver original
  1. pthread_join(a_thread,NULL);
  2. pthread_join(b_thread,NULL);

Y pues si le agregas mas hilos es natural que aumente el tiempo, ya que los hilos no se ejecutan exactamente paralelamente.

Última edición por kike00; 20/09/2009 a las 19:51