The interrupt is often used for notifying of shutdown, in which case you should probably just rethrow the exception. It can also be used by a timeout task to notify another that its time to complete a task has expired.
You might try to remove the catch and wonder why the compiler complains. Java wants to prepare for the possibility that the sleep may be prematurely awakened by some wandering Prince Charming. It is not nearly as sure as you are that it can’t happen.
You can even put main event-processing thread to sleep, but if you do, no events will be processed; buttons will be dead.
You don’t need to implement Runnable to use sleep.
It is best to use wait/notify to co-ordinate threads, not have them sleep and wake up and check then sleep again. There is no guarantee Threads won’t sleep longer than you requested.
See the warning under Gotchas:Threads on why a sleeping task may never waken if somebody fiddles with the system clock setting while your thread is asleep.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | The information on this page is for non-military use only. | ||
| You are visitor number 74,428. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/sleep.html | J:\mindprod\jgloss\sleep.html | ||