#include #include static void * thread_func(void * _tn) { int seed = 1; int i, tn = (int)_tn; for (i = 0; i < 3; i++) printf("thread=%d rand=%d\n", tn, rand_r(&seed)); return NULL; } int main() { int i, N = 4; pthread_t t[N]; for (i = 0; i < N; i++) pthread_create(t + i, NULL, thread_func, (void *)i); for (i = 0; i < N; i++) pthread_join(t[i], NULL); return 0; }