#include #include pthread_t main_id, mythread_id; void *body(void *arg) { int p = *(int *)arg; printf("mythread: parameter=%d\n", p); mythread_id = pthread_self(); printf("mythread: main_id==mythread_id:%d\n", pthread_equal(main_id,mythread_id) ); return (void *)5678; } int main() { pthread_t mythread; pthread_attr_t myattr; int err; int parameter= 1234; void *returnvalue; pthread_attr_init(&myattr); main_id = pthread_self(); puts("main: before pthread_create\n"); err = pthread_create(&mythread, &myattr, body, (void *)¶meter); puts("main: dopo la creazione del thread\n"); pthread_attr_destroy(&myattr); pthread_join(mythread, &returnvalue); printf("main: ritorna %d\n", (int)returnvalue); return 0; }