/***************************************************************************** * FILE: join1.c * DESCRIPTION: * This example demonstrates how to "wait" for thread completions by using * the Pthread join routine. Since not all current implementations of * Pthreads create threads in a joinable state, the threads in this * example are explicitly created in a joinable state so that they can * be joined later. * AUTHOR: 8/98 Blaise Barney * LAST REVISED: 04/06/05 ******************************************************************************/ #include #include #include #define NUM_THREADS 3 void *BusyWork(void *null) { int i; double result=0.0; for (i=0; i<1000000; i++) { result = result + (double)random(); } printf("Thread result = %e\n",result); pthread_exit((void *) 0); } int main(int argc, char *argv[]) { pthread_t thread[NUM_THREADS]; pthread_attr_t attr; int rc, t; void *status; /* Initialize and set thread detached attribute */ pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); for(t=0;t