Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider the program below, concurrent program with multiple threads: volatile int counter = 50; void *worker (void*arg) { counter--; return NULL; } int main(int

 

Consider the program below, concurrent program with multiple threads: volatile int counter = 50; 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("%d ", counter); return 0; Assuming pthread_create () and pthread_join () all work as expected (i.e., they don't return an error), select all possible outputs? 0 49 48 51 50

Step by Step Solution

3.41 Rating (145 Votes )

There are 3 Steps involved in it

Step: 1

Assuming pthreadcreate and pthreadjoin all work as expected ie they dont ... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

C++ Primer Plus

Authors: Stephen Prata

6th Edition

978-0321776402, 0321776402

More Books

Students also viewed these Programming questions