Hallo!
Die untenstehende Synchronisation von Threads macht mir Probleme! Seither dachte ich, daß das gleich Objekt mit synchronized(this) gelockt wird! Soeben stelle ich aber fest, daß dies nicht der Fall ist, es kommt trotzdem ein Zahlenchaos heraus. Die zwei Threads werden nícht hintereinander abgearbeitet! Woran liegt das?
Die untenstehende Synchronisation von Threads macht mir Probleme! Seither dachte ich, daß das gleich Objekt mit synchronized(this) gelockt wird! Soeben stelle ich aber fest, daß dies nicht der Fall ist, es kommt trotzdem ein Zahlenchaos heraus. Die zwei Threads werden nícht hintereinander abgearbeitet! Woran liegt das?
Code:
public class SynchronizedThread extends Thread{
public static void main(String[] args) {
SynchronizedThread synchronizedThread1 = new SynchronizedThread();
synchronizedThread1.start();
SynchronizedThread synchronizedThread2 = new SynchronizedThread();
synchronizedThread2.start();
}
public void run() {
synchronized (this) {
for (int i=0; i<200; i++ ){
System.out.println(i);
}
}
}
}