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