It is the user's responsibility to ensure that waiting threads
do not erroneously assume that the thread has finished if they experience
This typically requires that the condition being waited
for is satisfied while holding the lock on lk
, and that this lock
is not released and reacquired prior to calling notify_all_at_thread_exit.
— end note