Ejemplo de pthread
Un ejemplo simple de pthread. Un hilo debe ir asociado a una funcion. Una funcion c se puede pasar como un parametro mas.
/**
* hilos.c
* Pello Xabier Altadill Izura
* un ejemplo simplon de hilos linux
*/
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <pthread.h>
void haz_algo(int *);
void haz_algo_simple(int *);
int h1 = 0, h2 = 0;
extern int
main(void)
{
pthread_t thread1, thread2;
printf("vamos a ver...
");
// creamos el primer
if (pthread_create(&thread1, NULL, (void *) haz_algo, (void *) &h1) != 0)
perror("pthread_create"), exit(1);
// creamos el segundo hilo
if (pthread_create(&thread2, NULL,(void *) haz_algo_simple, (void *) &h2) != 0)
perror("pthread_create"), exit(1);
// esperamos que acabe
if (pthread_join(thread1, NULL) != 0)
perror("pthread_join"),exit(1);
printf("
OK!a
");
return 0;
}
// funcion haz_algo
void haz_algo(int *veces)
{
int i;
for (i = 0; i < veces; i++)
printf("Aqui, haciendo algo: %d
",i);
}
//funcion haz_algo_simple
void haz_algo_simple(int *veces)
{
int i;
for (i = 0; i < veces; i++)
printf("Aqui, haciendo algo simple: %d
",i);
}
pello.io