Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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:
public class Start {
public static void main(String[] args) {
new MeinThread().start();
new MeinThread().start();
}
}
public class MeinThread extends Thread{
private int i =0;
public void 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:
public class Start {
public static void main(String[] args) {
new MeinThread().start();
new MeinThread2().start();
}
}
public class MeinThread extends Thread{
private int i =0;
public void 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){
}
}
}
}
public class MeinThread2 extends Thread{
private int i =0;
public void 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:
public class Start {
public static void main(String[] args) {
new MeinThread().start();
new MeinThread2().start();
}
}
public class MeinThread extends Thread{
private int i =0;
public void 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){
}
}
}
}
public class MeinThread2 extends Thread{
private int i =0;
public void 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.