Is there a missing mutex.acquire() statement in this example code in the course?
void efficientWaitingFunction() {
mutex.acquire()
while (predicate == false) {
condVar.wait()
// is mutex.acquire() missing here?
}
// Do something useful
mutex.release()
}
void changePredicate() {
mutex.acquire()
set predicate = true
condVar.signal()
mutex.release()
}
Course: Java Multithreading for Senior Engineering Interviews - Learn Interactively
Lesson: Mutex vs Monitor - Java Multithreading for Senior Engineering Interviews