GATE | CS | 2022 | Operating System | Concurrency & Synchronization | Question 19

Last Updated :
Discuss
Comments

Consider the following threads, T1, T2, and T3 executing on a single processor, synchronized using three binary semaphore variables, S1, S2, and S3, operated upon using standard wait() and signal(). The threads can be context switched in any order and at any time. 

Which initialization of the semaphores would print the sequence BCABCABCA….?

S1 = 1; S2 = 1; S3 = 1

S1 = 1; S2 = 1; S3 = 0

S1 = 1; S2 = 0; S3 = 0

S1 = 0; S2 = 1; S3 = 1

Share your thoughts in the comments