Java - Thread utilise 100% CPU [Résolu/Fermé]

Signaler
Messages postés
963
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
-
Messages postés
963
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
-
Bonjour,

Dans mon programme j'utilise dans un thread avec un while(true) qui actualise en temps réel l'affichage d'une variable dans un jTextfield, problème: le cpu fonctionne à 100% ce qui a pour effet un affichage très lent d'autre action comme l'activation de bouton ou la saisie de donnée.

Avez vous une solution ?

Pour info le programme tourne sur machine avec 1Go de RAM et un Centrinuo Duo T5500

Merci

5 réponses


Salut !

Normal avec un while(true). Il doit te faire un grand nombre de boucle par seconde et donc consomme énormément. Essaie de faire une pause à la fin de ta boucle, genre
while(true)
{
  //ton code....

  Thread.sleep(100); //100 ms
}
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
963
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
83
En fait mon code ressemble plus a ceci :

public class Interface extends javax.swing.JFrame {

class Test implements Runnable {

public Test() {
}

public void run() {
while (true) {
jTextField.setText(maVariable);
}
}
}

public Interface(){
initComponents();
Test verification = new Test();
Thread t = new Thread(verification);
t.start();

}

J'ai essayer avec un t.sleep() mais c'est pire ....
Utilisateur anonyme
Je sèche, je passe la main ^^
Messages postés
963
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
83
Merci quand même, quelqu'un aurait une autre idée ?
Utilisateur anonyme
Pas t.sleep(100) mais vraiment Thread.sleep(100). Car la tu fais dormir ton thread t et c'est pas le but cherché.
Messages postés
963
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
83
Malheureusement cela ne change pas la charge du cpu
Utilisateur anonyme
Sinon page 38/39 mais ça ressemble à ce que tu as fais : http://www.lirmm.fr/~ferber/DESS/java_avance1.pdf
Messages postés
963
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
83
Merci mais je ne vois pas la solution