Medium Operating Systems Synchronization
What are condition variables and how are they used with mutexes?
Answer
Condition variables allow threads to wait for specific conditions while holding a mutex. Operations: wait() atomically releases mutex and sleeps until signaled, reacquires mutex before returning; signal() wakes one waiting thread; broadcast() wakes all. Always use with mutex and check condition in while loop (spurious wakeups). Example: producer signals 'not empty' when adding, consumer waits on 'not empty' when buffer empty. Enables efficient waiting without polling.
IIT Certified
Master These Concepts with IIT Certification
175+ hours of industry projects. Get placed at Bosch, Tata Motors, L&T and 500+ companies.
Relevant for Roles
Software Engineer Backend Developer Systems Developer