Was bedeutet das Schlüsselwort synchronized in Java? Erklären Sie es einfach mit Beispielen
Hallo Kollegen! Ich bin neu in Java und verstehe nicht, was das Schlüsselwort `synchronized` macht. Ich habe die Dokumentation gelesen, aber sie scheint zu kompliziert.
Ich habe eine einfache Klasse `Counter`, die einen Zähler in mehreren Threads erhöht. Ich erwarte, dass jeder Thread 1000 zum Gesamtzähler hinzufügt, aber das Ergebnis ist immer unterschiedlich: mal 1987, mal 2003, obwohl es genau 2000 sein sollte (zwei Threads mit je 1000). Hier ist mein Code:
```java
public class Counter {
private int count = 0;
public void increment() {
count++;
}
public int getCount() {
return count;
}
}
public class Main {
public static void main(String[] args) throws InterruptedException {
Counter counter = new Counter();
Thread t1 = new Thread(() -> {
for (int i = 0; i < 1000; i++) {
counter.increment();
}
});
Thread t2 = new Thread(() -> {
for (int i = 0; i < 1000; i++) {
counte