Do spurious wakeups in Java actually happen? Do spurious wakeups in Java actually happen? multithreading multithreading