hw-ond - #include #include #include...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Sheet1 Page 1 #include <pthread.h> #include <stdio.h> #include <stdlib.h> #define NUM_THREADS 3 #define TCOUNT 10 #define COUNT_LIMIT 12 int count = 0 int thread_ids[3] = {0,1,2} pthread_mutex_t count_mutex pthread_cond_t count_threshold_cv void *inc_count(void *idp) { int j,i double result=0.0 int *my_id = idp for (i=0 i < TCOUNT i++) { count++ /* Check the value of count and signal waiting thread when condition is reached. Note that this occurs while mutex is locked. */ if (count == COUNT_LIMIT) { printf("inc_count(): thread %d, count = %d Threshold reached.\n", *my_id, count) } printf("inc_count(): thread %d, count = %d, unlocking mutex\n", *my_id, count) /* Do some work so threads can alternate on mutex lock */ for (j=0 j < 1000 j++) result = result + (double)random() } pthread_exit(NULL) } void *watch_count(void *idp) { int *my_id = idp printf("Starting watch_count(): thread %d\n", *my_id)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 2

hw-ond - #include #include #include...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online