Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Beispiel Blatt 3 zu synchronized
Hallo,
ich hole gerade meinen PFP-Rückstand auf. Ich habe dafür das Beispiel vom Übungsblatt 3 angeschaut:
public class ClassSync {
static int a = 0;
private static synchronized int getNextNumber() {
return a++;
}
public static void main(String[] args) {
System.out.println("Start.")
for (int i = 0; i < 5; i++) {
new Thread() {
@Override
public void run() {
System.out.println("This is Thread" + getNextNumber() );
}
}.start();
}
System.out.println("End.")
}
}
Als Ausgabe kommt bei mir:
Warum zählt das jetzt bis zur 8? Ich hätt erwartet, dass es von 0 bis 4 geht, und dann die Reihenfolge vielleicht durcheinander ist, aber wenn es doch nur 5 mal in der for-Schleife gestartet wird, warum zählt es dann bis 8?
NACHTRAG: Ja, ich habe es beim Abtippen übersetzt =D