Bonjour,
J'ai un sérieux probleme avec les threads.
Voilà j'ai un algorithme qui prend pas mal de cpu, alors je me suis dit pourquoi pas le mettre dans un thread et ainsi pouvoir le mettre en pause et le reveiller a ma guise.
Pour cela j'ai crée une classe comme ceci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class CalculMoiCa extends Thread{ // j'ai que la methode run public void run() { //un algo de calcul bien long. } }
ensuite dans mon interface swing qui est dans une autre class, à l'aide de quelques boutons j'effectue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 private CalculMoiCa viite = null; // ... public void actionPerformed(ActionEvent e) { JButton b = (JButton)e.getSource(); if (b == this.bStart) { System.out.println("start"); viite = new CalculMoiCa(); viite.start(); return; } if (b == this.bResume) { System.out.println("resume"); viite.notifyAll(); return; } if (b == this.bPause) { System.out.println("pause"); viite.wait(); return; } }
Mais bien entendu ca ne marche pas :/
J'ai surement pas compris quelque chose.
Merci à l'avance pour votre aide.
Partager