1.

Consider the following pseudocode, where S is a semaphore intialized to 5 in line#2 an counter is a shared variable intialized to 0 in line#1. Assume that the increment operation in line#7 is not atomic.1. int counter = 0;2. Semaphore S = init(5);3. void parop(void)4. {5. wait (S);6. wait (S);7. counter++;8. signal (S);9. signal (S);10. }If five threads execute the function parop concurrently, which of the following program behavior (s) is/are possible?

A. There is a deadlock involving all the threads.
B. The value of counter is 5 after all the threads successfully complete the execution of parop.
C. The value of counter is 1 after all the threads successfully complete the execution of parop.
D. The value of counter is 0 after all the threads successfully complete the execution of parop.
Answer» B. The value of counter is 5 after all the threads successfully complete the execution of parop.


Discussion

No Comment Found

Related MCQs