Thread

Diskutiere Thread im Netzwerkprogrammierung Bereich.
C

chrism120

Hallo,
ich bin noch neu mit Java und versuche 2 Threads zu erstellen. unter ist meine Quellekode. es funktionniert nicht ich will. nur das erste Thread läuft. ich möchte das das zweite thread nach einer bestimmten Anzahl an Ip Adresse läuft. aber in diesem fall hab ich nur das erste thread das für mein ganzes Programm läuft. danke im Voraus für Eure Antwort.
Java:
// Thread
    
    Thread t1 = new Thread (new Runnable() {
        
         public void run () {
              
            
             for (int i =0;i<10;i++)
        
             while(!Arrays.equals(ip1,ip2) ) {
                 try {
                  
       InetAddress ad= InetAddress.getByName(bytesToIpv4(ip1));
       count(ip1);
      
       //Erreichbarkeit prüfen
      
       if(ad.isReachable(5)) {
          
       System.out.println("Der Computer  " + ad.getHostName() + " gefunden"+" ist von erstem Thread" );
  
       }
         } catch (IOException e) {}
               }
     s1.close();
      s2.close();

             }
         }
         );

 t1.start();
 Thread t2 = new Thread (new Runnable() {
    
        public void run () {
            
            for (int i =0;i>10;i++)
            
            while(!Arrays.equals(ip1,ip2) ) {
                try {
                  
    InetAddress ad= InetAddress.getByName(bytesToIpv4(ip1));
    count(ip1);
    //Erreichbarkeit prüfen
    
    if(ad.isReachable(5)) {
        
    System.out.println("Der Computer  " + ad.getHostName() + "  gefunden" + " ist von zweitem Thread" );

    }
         } catch (IOException e) {}
            }
  s1.close();
     s2.close();
    
            }
        }
        );

t2.start();
 
Flown

Flown

Dein zweiter Thread läuft auf nicht wegen: for (int i = 0; i > 10; i++). Die Bedingung ist immer false
 
C

chrism120

Man könnte ja i < 10 stattdessen schreiben, dann wird die Schleife 10 mal durchlaufen und vermutlich möchtest du das ja.
Ich habe zum Beispiel. ich habe als erste Adresse 1.0.0.1 und zweite Adresse 1.0.0.100 eigegeben.
auf der konsole habe ich folgende Informationen.

Die Adresse Thread 2 ist 1.0.13.91
Die Adresse Thread 1 ist 1.0.13.92
Die Adresse Thread 2 ist 1.0.13.93
Die Adresse Thread 1 ist 1.0.13.94
Die Adresse Thread 2 ist 1.0.13.95
Die Adresse Thread 1 ist 1.0.13.96
Die Adresse Thread 2 ist 1.0.13.97
Die Adresse Thread 1 ist 1.0.13.98
Die Adresse Thread 2 ist 1.0.13.99
Die Adresse Thread 1 ist 1.0.13.100
Die Adresse Thread 2 ist 1.0.13.101
Die Adresse Thread 1 ist 1.0.13.102
Die Adresse Thread 2 ist 1.0.13.103
Die Adresse Thread 1 ist 1.0.13.104
Die Adresse Thread 2 ist 1.0.13.105
Die Adresse Thread 1 ist 1.0.13.106
Die Adresse Thread 1 ist 1.0.13.108
Die Adresse Thread 1 ist 1.0.13.109
Die Adresse Thread 1 ist 1.0.13.110
Die Adresse Thread 1 ist 1.0.13.111
Die Adresse Thread 1 ist 1.0.13.112
Die Adresse Thread 1 ist 1.0.13.113
Die Adresse Thread 1 ist 1.0.13.114
Die Adresse Thread 1 ist 1.0.13.115
Die Adresse Thread 1 ist 1.0.13.116
Die Adresse Thread 1 ist 1.0.13.117
Die Adresse Thread 1 ist 1.0.13.118
Die Adresse Thread 1 ist 1.0.13.119
Die Adresse Thread 1 ist 1.0.13.120
Die Adresse Thread 1 ist 1.0.13.121
Die Adresse Thread 1 ist 1.0.13.122
Die Adresse Thread 1 ist 1.0.13.123
Die Adresse Thread 1 ist 1.0.13.124
Die Adresse Thread 1 ist 1.0.13.125
Die Adresse Thread 1 ist 1.0.13.126
Die Adresse Thread 1 ist 1.0.13.127
Die Adresse Thread 1 ist 1.0.13.128
Die Adresse Thread 1 ist 1.0.13.129
Die Adresse Thread 1 ist 1.0.13.130
Die Adresse Thread 1 ist 1.0.13.131
Die Adresse Thread 1 ist 1.0.13.132
Die Adresse Thread 1 ist 1.0.13.133
Die Adresse Thread 1 ist 1.0.13.134
Die Adresse Thread 1 ist 1.0.13.135
Die Adresse Thread 1 ist 1.0.13.136
Die Adresse Thread 1 ist 1.0.13.137
Die Adresse Thread 1 ist 1.0.13.138
Die Adresse Thread 1 ist 1.0.13.139
Die Adresse Thread 1 ist 1.0.13.140
Die Adresse Thread 1 ist 1.0.13.141
Die Adresse Thread 1 ist 1.0.13.142
Die Adresse Thread 1 ist 1.0.13.143
 
T

temi

Außerdem empfehle ich dir dringend:
  1. Mach deine Einrückungen ordentlich
  2. Arbeite immer mit den geschweiften Klammern, auch wenn sie im besonderen Fall gerade nicht nötig sind.
 
C

chrism120

ich möchte nur die Adressen aus diesem "Range" bekommen mit verschiedenen Threads wie definiert als festgelegt.
 
T

temi

ich möchte nur die Adressen aus diesem "Range" bekommen mit verschiedenen Threads wie definiert als festgelegt.
Von mir aus, aber:

Außerdem empfehle ich dir dringend:
  1. Mach deine Einrückungen ordentlich
  2. Arbeite immer mit den geschweiften Klammern, auch wenn sie im besonderen Fall gerade nicht nötig sind.
Nach deiner for-Schleife kommt keine sich öffnende geschweifte Klammer, d.h. der Schleifenrumpf (das was ausgeführt wird) besteht aus genau einer Anweisung. Bei dieser Anweisung handelt es sich um die while-Schleife. Darum funktioniert es überhaupt. Solltest du irgendwann auf die Idee kommen, vor dem "while" noch eine weitere Anweisung schreiben zu müssen, dann ist es damit vorbei.
 
C

chrism120

Von mir aus, aber:



Nach deiner for-Schleife kommt keine sich öffnende geschweifte Klammer, d.h. der Schleifenrumpf (das was ausgeführt wird) besteht aus genau einer Anweisung. Bei dieser Anweisung handelt es sich um die while-Schleife. Darum funktioniert es überhaupt. Solltest du irgendwann auf die Idee kommen, vor dem "while" noch eine weitere Anweisung schreiben zu müssen, dann ist es damit vorbei.
Ok danke. mache ich und sag Dir Bescheid!
 
Thema: 

Thread

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben