Mise en sommeil
# Mise en sommeil

Dans le contexte de la programmation concurrente, la mise en sommeil (sleep) d'un thread permet de retirer l'accès à la ressource processeur de ce thread.

## Durée de la mise en sommeil

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 31 décembre 2056 à 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.

## Exemples

### Mise en sommeil dans le cadre du langage Java

Dans le langage Java, la mise en sommeil d'un thread s'effectue à l'aide de la méthode sleep de la classe Thread.

Le code précédent effectue la mise en sommeil du thread courant, pour une durée d'au moins 12secondes. 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.

