Sitze gerade an einer Aufgabe in der es darum geht 2 Threads starten zu lassen, welche bis zu einer bestimmten Zahl hochzählen. Dabei soll ein Thread die Ausgabe auf der Konsole machen und der andere in eine Textdatei. Danach soll noch eine Datei folgenden Inhalt ausgeben: Thread1 hat solange gebraucht, Thread2 solange und somit war Thread1/Thread2 schneller.
Bin leider noch nicht sehr weit gekommen.
Java:
publicclassStart{publicstaticvoidmain(String[] args){newMeinThread().start();newMeinThread().start();}}publicclassMeinThreadextendsThread{privateint i =0;publicvoid run (){//Schleife zum erhöhen for(int i =0; i<=10; i++){try{System.out.println("ID"+this.getId()+" ! Zahl : "+i);sleep(1000);}//Exception abfangen catch(InterruptedException e){}}}}
Hi,
naja hab noch nicht wirklich viel Ahnung von Java. Hab den Code mal überarbeitet.
Java:
publicclassStart{publicstaticvoidmain(String[] args){newMeinThread().start();newMeinThread2().start();}}publicclassMeinThreadextendsThread{privateint i =0;publicvoid run (){//Schleife zum erhöhen for(int i =0; i<=10; i++){try{System.out.println("ID"+this.getId()+" ! Zahl : "+i);sleep(1000);}//Exception abfangen catch(InterruptedException e){}}}}publicclassMeinThread2extendsThread{privateint i =0;publicvoid run (){//Schleife zum erhöhen for(int i =0; i<=10; i++){try{System.out.println("ID"+this.getId()+" ! Zahl : "+i);sleep(1000);}//Exception abfangen catch(InterruptedException e){}}}}
Mein Problem ist, dass ich nicht genau weiß, wie ich das mit der Textausgabe mache und wie ich die Threads miteinander vergleiche bzw. die Zeit die der jeweilige Thread benötigt.
Hi,
naja hab noch nicht wirklich viel Ahnung von Java. Hab den Code mal überarbeitet.
Java:
publicclassStart{publicstaticvoidmain(String[] args){newMeinThread().start();newMeinThread2().start();}}publicclassMeinThreadextendsThread{privateint i =0;publicvoid run (){//Schleife zum erhöhen for(int i =0; i<=10; i++){try{System.out.println("ID"+this.getId()+" ! Zahl : "+i);sleep(1000);}//Exception abfangen catch(InterruptedException e){}}}}publicclassMeinThread2extendsThread{privateint i =0;publicvoid run (){//Schleife zum erhöhen for(int i =0; i<=10; i++){try{System.out.println("ID"+this.getId()+" ! Zahl : "+i);sleep(1000);}//Exception abfangen catch(InterruptedException e){}}}}
Mein Problem ist, dass ich nicht genau weiß, wie ich das mit der Textausgabe mache und wie ich die Threads miteinander vergleiche bzw. die Zeit die der jeweilige Thread benötigt.
Meinst du, dass Threads der richtige Einstieg sind, wenn du noch nicht viel Ahnung hast?
Zu deinem Problem: da gibts verschiedene Varianten für die Zeiten: JAVA Timer oder aktuelle Zeit auslesen zum Beispiel... und nun hast du übrigens 2 Thread, die genau das Gleiche machen, was 0 bringt,... ich denke eher, dass du ja ein Thread in eine Textdatei schreibn lassen sollst und den anderen auf die Console ?
Sollst du explizit 2 Threads starten? ansonsten reicht auch einer und mit dem "normalen" Main- Thread kannst du dann eine der beiden Aufgaben erfüllen z.b. und die Zeit nehmen
Also es sind schon 2 Threads gefordert die jedoch das gleiche machen sollen, eben bis zu einer bestimmten Zahl hochzählen. Ich weiß, dass momentan noch beide Threads das gleiche machen. der eine Thread soll halt seine Ausgaben über System.out.println machen über die Konsole und der andere Thread über eine Textdatei.
Ich brauche ja auch nen 2. Thread um überhaupt sagen zu können welcher Thread schneller war.