Bonjour à tous,
j'ai un petit problème de wait sur un Thread qui même après un appel de la méthode notify ne se débloque pas...
voici le code de la casse Thread:
et voici la classe qui utilise ce thread.
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 public class USBThread extends Thread{ ... public static USBThread getInstance(){ if( instance == null ) { instance = new USBThread(); } return instance; } public void run(){ ....... while(fin != 1){ synchronized(this){ try{ this.wait(); log.debug("Traitement du message"); process(); }catch(Exception e){} } }
En fait je crée un objkect USBThread, je récupère sa référence, je modifie un de ses objet et je notifie le thread pour qu'il puisse processer mon objet envoyé:
lorsque cette classe appelle la méthode notify de mon threadUSB, je n'ai pas d'affichage de la chaine "Traitement du message", ni de lancement de la méthode process().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 USBThread usb = USBThread.getInstance(); synchronized(usb){ usb.sendCommand(commande); usb.notify(); }
Quelqu'un pourrait m'éclairer à ce sujet ? je bloque....
Merci !
Tiamat.
Partager