- pthread_t child_thread[2];
- int id1 = 1;
- int id2 = 2;
- pthread_create(&child_thread[0], 0 /* attr */, run_func, &id1);
- pthread_create(&child_thread[1], 0 /* attr */, run_func, &id2);
- pthread_join(child_thread[0], 0);
- pthread_join(child_thread[1], 0);
- *seqp++ = '\0';
+ pthread_t child_thread[NUM_THREADS];
+ int i, id[NUM_THREADS];
+ for (i = 0; i<NUM_THREADS; i++)
+ pthread_create(&child_thread[i], 0 /* attr */, run_func, &id[i]);
+
+ for (i = 0; i<NUM_THREADS; i++)
+ pthread_join(child_thread[i], 0);