#include #include pthread_once_t init=PTHREAD_ONCE_INIT; void init_funz() { //varie inizializzazioni printf("inizializzazione effettuata\n"); } void funzione() { (void)pthread_once(&init,init_funz); printf("funzione thread\n"); } main() { pthread_t t1, t2; int r; r=pthread_create(&t1, NULL, (void *) funzione, NULL); printf("1o create %d\n", r); r=pthread_create(&t1, NULL, (void *) funzione, NULL); printf("2o create %d\n", r); }