Guten Tag Java-Freunde,
könnte mir jemand sagen, weshalb mein Programm immernoch unterschiedliche Werte als Result zurückgibt, obwohl ich eine synchronized-Methode für die Zählvariable verwende?
Danke und Grüße
könnte mir jemand sagen, weshalb mein Programm immernoch unterschiedliche Werte als Result zurückgibt, obwohl ich eine synchronized-Methode für die Zählvariable verwende?
Java:
public class AppSynchronizedKeyword {
private int count = 0;
public synchronized void increment() {
count++;
}
public static void main(String[] args) {
AppSynchronizedKeyword dummyObject = new AppSynchronizedKeyword();
dummyObject.doWork();
}
public void doWork() {
Thread threadOne = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 1000; i++) {
increment();
}
}
});
Thread threadTwo = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 1000; i++) {
increment();
}
}
});
threadOne.start();
threadTwo.start();
System.out.println("Count is " + count);
}
}
Danke und Grüße
Zuletzt bearbeitet von einem Moderator: