#include #include #include #include #include void *iterate(void *data) { int i; int m = (int) data; printf("Counting to %d\n", m); for (i = 0; i < m; i++) { sqrt(i); } } 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, iterate, INT_MAX / n); } for (i = 0; i < n; i++) { pthread_join(threads[i], NULL); } free(threads); return 0; }