... continued
This lesson continues the discussion on the use of condition variables in Ruby.
We'll cover the following...
Spurious Wakeups
Condition variables suffer from spurious wakeups - that is, wakeup of threads waiting on the condition variable without being signaled. This is specifically allowed by the POSIX standard because it allows more efficient implementations of condition variables under some circumstances. Even though the official documentation doesn't mention this peculiarity, it is a common pattern across all programming languages including Python, Java, etc.
Idiomatic Usage
The idiomatic usage of condition variables when ...