bonjour ! voila je suis tombé sur le problème quand j'ai commencé a m'interressé au threads. J'ai donc bien sûr voulut les gérer ( du genre : start(), resume(), suspend()...) et étant donné que la méthode stop() est dépréciée alors je l'ai réécrite :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
public void run() 
	{
    	int a = 0,b = 0,choix = 0;
    	boolean finish = false, fin = false;
 
        while( !fin ) 
        {
        	try 
        	{
    			while (finish == false) 
			{
		    		// mon traitement 
		    	}  
 
    			synchronized(this) 
    			{
            		    Thread.yield();
                             // lecture du boolean 
                	    fin = this.stopThread;
            	        }	 
 
    		} catch( InterruptedException e )    // Je pense que l'erreur se situe ici
    		  {
    		  	  System.out.println("c bon");		
    		  }	
    	}
    }
 
	// Surcharge de la méthose stop()
	public void stopLeThread() 
	{
        this.stopThread = true;
	}
 
 
	// On met le thread en pause
	public void pause() 
	{
    	synchronized(this) 
    	{
      		try
			{
 				synchronized(this) { this.wait(); }
 			}
			catch(InterruptedException ex) { }
    	}	
  	}	 
 
	//on reprend le thread 
  	public void release() 
  	{
    	synchronized(this) 
    	{
      		this.notify();
    	}
  	}
avec comme entête pour cette classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public class PacFantome extends Thread


et le compilateur me sort une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
L'exception InterruptedException n'est jamais relevée dans le try que vous avez mit (traduction)
alors je ne sait pas pourquoi il ne voir pas mon catch...pourtant je ne vois pas de problème à première vue

Voila si quelqu'un aurait une idée, j'apprécierait qu'il me la dise
salut