La durée de la mise en veille peut en principe être spécifiée de manière relative ou absolue. Ainsi il est possible de spécifier que l'on souhaite
mettre en sommeil un thread pour 10000 millisecondes (échéance relative).
mettre en sommeil un thread jusqu'au à 12h56 et 15 secondes (échéance absolue).
Il est ainsi garanti que le thread n'occupera pas la ressource processeur avant l'échéance. Par contre, il n'est pas garanti que le thread aura un accès à la ressource processeur immédiatement après l'échéance.
Le code précédent effectue la mise en sommeil du thread courant, pour une durée d'au moins 12 secondes. Si le délai ne peut pas être respecté, l'exception InterruptedException est levée, ce qui permet au programmeur de prendre les dispositions nécessaires.