salut,
je suis entrain de faire une classe qui me permet de lister les machines sur mon réseau local

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
 
public class reseauthreadé extends Thread
 
{
 
String host;
int timeOut;
String resul;
public reseauthreadé(String a,int b)
{
this.host=a;
this.timeOut=b;
 
}
    @Override
public void run()
{
 
 
            try {
 
                boolean status = InetAddress.getByName(host).isReachable(timeOut);
 
                if (status == true) {
 
                   // System.out.println(host);
                    this.resul=host;
                              }
 
            } catch (IOException ex) {
                Logger.getLogger(reseauthreadé.class.getName()).log(Level.SEVERE, null, ex);
            }
 
 
}
    public String get_resul(){return this.resul;}
}


et dans le main j'ai fait une boucle qui crée à chaque fois un thread et récupére la valeur de get_resul()

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
for(int i = 1; i <= 255; i++)
        {
 
                reseauthreadé m = new reseauthreadé("192.168.1." + i, 500);
                m.start();
 
                  reseauthreadé.sleep(100);
                                if (m.get_resul() != null) {
                    System.out.println(m.get_resul());
                }
 
            }
le problème est que je doit faire un sleep après la création de chaque thread sinon j'appelle get_resul avant que mon thread termine son execution


comment résoudre ce problème car je gagne rien (en terme de temps) avec ce sleep

merci d'avance