Shared Memory Programming Pthreads: DR Matthew Grove
Shared Memory Programming Pthreads: DR Matthew Grove
Pthreads
Dr Matthew Grove
Slides: http://people.cs.vt.edu/~mjeg/
Source: https://computing.llnl.gov/tutorials/pthreads/fork_vs_thread.txt
August 24, 2011
Source: https://computing.llnl.gov/tutorials/pthreads/
August 24, 2011
pthread_join(
thread_id, /* Thread to wait for */
status) /* Exit status of thread */
pthread_mutex_trylock()
void *do_work() {
int i;
pthread_mutex_lock(&sum_mutex);
for (i=0; i<LOOPS; i++)
sum = sum + 1;
pthread_mutex_unlock(&sum_mutex);
pthread_exit(NULL);
}
...
pthread_mutex_init(&sum_mutex, NULL);
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
for (i=0; i<NTHREADS; i++)
pthread_create(&threads[i], &attr, &do_work, NULL);
sum=0;
for (i=0;i<NTHREADS * LOOPS;i++)
sum = sum + 1;
printf("Check sum: %d\n",sum);
pthread_attr_destroy(&attr);
pthread_mutex_destroy(&sum_mutex);
pthread_exit(NULL);
August 24, 2011
}