#include #include __thread int x; static void * thread_func(void * _tn) { int i, tn = (long)_tn; for (i = 0; i < 3; i++) printf("thread=%d x=%d\n", tn, x++); return NULL; } int main() { long i, N = 4; pthread_t t[N]; x = 5; 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; }