

MCQOPTIONS
Saved Bookmarks
1. |
Consider the following multi-threaded code segment (in a mix of C and pseudocode), invoked by two processes P1 and P2, and each of the processes spawns two threads T1 and T2:int x = 0; // globalLock L1; // globalmain() {create a thread to execute foo(); // Thread T1create a thread to execute foo(); // Thread T2wait for the two threads to finish execution;print (x);}foo() {int y = 0;Acquire L1;x = x + 1;y = y + 1;Release L1;print (y); }Which of the following statement(s) is/are correct ? |
A. | Both T1 and T2, in both the processes, will print the value of y as 1. |
B. | At least one of P1 and P2 will print the value of x as 4 |
C. | Both P1 and P2 will print the value of x as 2. |
D. | At least one of the threads will print the value of y as 2. |
Answer» B. At least one of P1 and P2 will print the value of x as 4 | |