Bonjour,
Je suis entrain de développer une application sous forme d'applet. Pour ca, je l'ai déclaré de cette facon :
public class monApplet extends JApplet implements Runnable, MouseInputListener, KeyListener {
Et j'ai donc, vu que j'implemente Runnable, j'ai une fonction run() codée comme suit :
1 2 3 4 5 6 7 8 9 10 11 12
|
public void run() {
while (true) {
repaint();
try {
Thread.sleep(100);
// Un certain nombres de traitements mis en commentaire pour ne pas influer sur le test
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} |
Le problème, c'est que j'ai un certains nombres de boutons associés à des listeners créés pour l'occasion. Lorsque je clique dessus, l'action se passe normalement (dialogue servlet/applet) et le processeur fait un bon.
Jusque la, c'est normal, mais le problème, c'est qu'une fois l'action finie (le dialogue client/serveur résolu), l'utilisation proc reste très élevée.
Au bout d'une trentaine de clics, le proc est à 100% et il ne redescent plus.
Après recherche dans le code, il apparait que si je commente "repaint" dans la fonction "run", mon applet ne se repeint pas (normal), mais surtout, je peux cliquer autant que je veux, le proc redescent toujours a un niveau proche de 0% aussitot que les actions lancées sont résolues.
Bref, comment éviter cette "fuite processeur" ?
Merci d'avance !
Partager