[Java] Endormir une application

Résolu
jebok Messages postés 371 Date d'inscription   Statut Membre -  
jebok Messages postés 371 Date d'inscription   Statut Membre -
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. limite Messages postés 1207 Statut Membre 67
     
    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.
    0
    1. jebok Messages postés 371 Date d'inscription   Statut Membre 51
       
      Merci ca fonctionne (Thread.sleep)
      0
  2. fanou Messages postés 448 Statut Membre 146
     
    Bonsoir Jebok

    As-tu essayé wait(secondes*5000) ?
    0
    1. jebok Messages postés 371 Date d'inscription   Statut Membre 51
       
      Oui j'ai essayé mais ca ne marche pas. cf mon 1er message.
      Merci quand meme
      --
      0