Hallo,
ich habe folgendes Code:
Ich habe Schwierigkeiten den Output nachzuvollziehen. Ich verstehe es so: Ich erstelle einen Thread und starte den, dann über synchronized block wird dieser Thread angehalten(bis irgendwo ein notify() Method aufgerufen wird). Wieso habe ich die Ausgabe 999999, obwohl ich den Thread angehalten habe?
Vielen Dank im Voraus
ich habe folgendes Code:
Java:
package mock;
public class TestThread {
public static void main(String[] args) throws InterruptedException {
Job thread = new Job();
thread.start();
synchronized (thread) {
System.out.println("synchronized block "+Thread.currentThread().getName());
thread.wait();
}
System.out.println(thread.getNumber());
}
}
class Job extends Thread {
private Integer number = 0;
public void run() {
System.out.println("run "+Thread.currentThread().getName());
for (int i = 1; i < 1000000; i++) {
number++;
}
}
public Integer getNumber() {
return number;
}
}
Vielen Dank im Voraus
Zuletzt bearbeitet von einem Moderator: