Question: Question 2 (5 points)A concurrent program (with multiple threads) looks like this: volatile int counter =1000; void *worker(void *arg) { counter-; return NULL; int main(int

Question 2 (5 points)A concurrent program (with multiple threads) looks like this: volatile int counter =1000; void *worker(void *arg) \{ counter-; return NULL; int main(int argc, char *argv[]) \{ pthread_t p1, p2; pthread_create ( \&p1, NULL, worker, NULL); pthread_create ( \&p2, NULL, worker, NULL); pthread_join (p1, NULL); pthread_join(p2, NULL); printf("?dn", counter); return 0; Assume pthread_create and pthread_join all work as expected (i.e., no error), which of the following outputs are possible? A: Possible. B: Not Possible
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
