What is the difference between the wait() and sleep() methods?
A wait can be woken up by another Thread calling notify whereas a sleep cannot.
When things go wrong, sleep throws an IllegalMonitorStateException whereas wait throws an InterruptedException.
Only Threads can wait, but any Object can be put to sleep.
Sleep allows for multi-threading whereas wait does not.