This example does not exhibit the desired behaviour:
https://doc.rust-lang.org/beta/std/sync/struct.WaitTimeoutResult.html
In the thread, the mutex is locked before waiting and then setting the condition, so wait_timeout waits until the condition is set (try changing that 20 ms to 1000 ms for dramatic effect). The sleep should be before the lock and notify.
This example does not exhibit the desired behaviour:
https://doc.rust-lang.org/beta/std/sync/struct.WaitTimeoutResult.html
In the thread, the mutex is locked before waiting and then setting the condition, so
wait_timeoutwaits until the condition is set (try changing that 20 ms to 1000 ms for dramatic effect). Thesleepshould be before the lock and notify.