/* * Criação de uma nova thread, com envio de valor de retorno * via função pthread_exit. */ #include #include #include void* f_thread(void *v) { int thr_id = *(int *) v; int *ret = (int *) malloc (sizeof (int)); printf("Thread %d.\n", thr_id); *ret = thr_id; pthread_exit(ret); } int main() { pthread_t thr; int thr_id = 1; int* r_id; pthread_create(&thr, NULL, f_thread, (void*) &thr_id); pthread_join(thr, (void**) &r_id); printf("Valor de retorno %d.\n", *r_id); free(r_id); return 0; }