[Java] Endormir une application

Résolu
Bonjour,

je souhaite endormir mon application durant 5 secondes.
J'ai donc essayé d'écrire dans ma classe :
try {
this.wait(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}

Mais j'obtiens l'erreur suivante :
current thread not owner

Comment remédier à ce problème ?
--
Merci de votre aide

2 réponses

  1. Bonsoir Jebok

    As-tu essayé wait(secondes*5000) ?
    1. Oui j'ai essayé mais ca ne marche pas. cf mon 1er message.
      Merci quand meme
      --
  2. Salut

    J'ai un peu chercher , mais je débute sous java, donc, si je me suis planté
    fais le moi savoir

    Object o=new Object();
    try
    {
        synchronized(o) { o.wait(5000); }
    }
    catch(InterruptedException ex) { }// ex ou e j'hésite


    il faut voir si synchronized est encore d'actualité sous les nouvelles
    versions java.

    lu ici -->
    http://www.sogid.com/javalist/f2002/wait.html

    Sinon il y a la méthode sleep

    On peut simuler une "pause" dans l'exécution d'une application en utilisant la méthode sleep() de la classe Thread. Cette méthode force le Thread courant à cesser son exécution pendant le temps passé en paramètres.

    Par exemple :

    long milliSecondes = 500L; 
    int nanosSecondes = 5000; 
    Thread.sleep(milliSecondes, nanosSecondes);

    // ou
    Thread.sleep(milliSecondes);


    Ces deux méthodes sont susceptibles de lever une InterruptedException.
    1. Merci ca fonctionne (Thread.sleep)