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


Discussion

No Comment Found

Related MCQs