Consider the following pseudocode, where S is a semaphore initialized to 5 in…
GATE · 2021 · CS · Set 1 · Computer Science & IT
Consider the following pseudocode, where S is a semaphore initialized to 5 in line #2 and counter is a shared variable initialized to 0 in line #1. Assume that the increment operation in line #7 is not atomic.
int counter =0;
Semaphore S= init(5);
void parop(void)
{
wait(S);
wait(S);
counter++;
signal(S)
signal(S);
}
If five threads execute the function parop concurrently, which of the following program behavior(s) is/are possible?
- A.
The value of counter is 5 after all the threads successfully complete the execution of parop
- B.
The value of counter is 1 after all the threads successfully complete the execution of parop
- C.
The value of counter is 0 after all the threads successfully complete the execution of parop
- D.
There is a deadlock involving all the threads
Attempted by 224 students.
Sign up free to check your answer
Sign up freeLoading lesson…