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:

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){}
			}
		}
et voici la classe qui utilise ce thread.
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é:

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();
			}
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().

Quelqu'un pourrait m'éclairer à ce sujet ? je bloque....

Merci !
Tiamat.