#include #include #include void *hello_world(void *data) { printf("Hello World from thread %d\n", (int) data); } int main() { int i, n; pthread_t *threads; scanf("%d", &n); threads = (pthread_t*) malloc(n * sizeof(pthread_t)); for (i = 0; i < n; i++) { pthread_create(&threads[i], NULL, hello_world, (void*) i); } for (i = 0; i < n; i++) { pthread_join(threads[i], NULL); } free(threads); return 0; }