G
Guest
Gast
Hallo.
Ich starte zwei Threads, aber Sie werden genau nacheinandern ausgeführt und nicht nebenläufig.
Der Ausgegebene Text (println) ist korrekt.
Kann mir bitte jemand sagen, warum?
Danke.
Ich starte zwei Threads, aber Sie werden genau nacheinandern ausgeführt und nicht nebenläufig.
Der Ausgegebene Text (println) ist korrekt.
Kann mir bitte jemand sagen, warum?
Danke.
Code:
package firstThreads;
public class TestThreads {
/**
* @param args
*/
public static void main(String[] args)
{
int numberToUse = Integer.parseInt(args[0]);
Number number = new Number();
new ThreadFactory("ersteZahl", numberToUse, number).start();
new ThreadFactory("zweiteZahl", numberToUse, number).start();
//new Thread(new RunnableFactory("zweiteZahl", numberToUse, number)).start();
}
}
Code:
package firstThreads;
public class ThreadFactory extends Thread
{
private String name;
private int valueToAdd;
private Number number;
public ThreadFactory(String name, int valueToAdd, Number n)
{
this.name = name;
this.valueToAdd = valueToAdd;
this.number = n;
}
public void run()
{
for (int i=0; i<10; i++)
{
int temp = number.getNumber();
number.setNumber(temp + valueToAdd);
System.out.println("Addition erledigt, neuer Wert: " + number.getNumber());
}
System.out.println("Letzte Addition erledigt. Endwert:" + number.getNumber());
}
}
Code:
package firstThreads;
public class Number
{
private int number;
public Number()
{
number = 0;
}
public int getNumber()
{
return number;
}
public void setNumber(int number)
{
this.number = number;
}
}