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.

Pour les articles homonymes, voir Sleep.

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 à 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.

public void run() {
   try {
      this.sleep(12000);
   } catch (InterruptedException e) {}
}

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.

Voir aussi

  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.