/* * Passagem de parâmetros para a thread. Será que cada thread * terá um identificador único? */ #include #include #include #include void* f_thread(void *v) { int thr_id; int *ret; thr_id = *(int *) v; ret = (int *) malloc (sizeof (int)); printf("Thread %d.\n", thr_id); *ret = thr_id; return (void*) ret; } int main() { pthread_t thr[10]; int* r_id; int i; for (i = 0; i < 10; i++) pthread_create(&thr[i], NULL, f_thread, (void*) &i); for (i = 0; i < 10; i++) { pthread_join(thr[i], (void**) &r_id); printf("Valor de retorno %d.\n", *r_id); } return 0; }