Warum gibt es in Kotlin keine Schlüsselwörter für Nebenläufigkeit (synchronized, volatile)?
Hallo zusammen! Ich bin ein Anfänger in Kotlin und komme von Java. In Java habe ich die Schlüsselwörter `synchronized`, `volatile` sowie `synchronized`-Blöcke verwendet, um den Zugriff auf gemeinsame Ressourcen in Multithread-Anwendungen zu steuern. Aber als ich anfing, in Kotlin zu schreiben, bemerkte ich, dass die Sprache diese Schlüsselwörter nicht hat! Zum Beispiel habe ich versucht, einen einfachen thread-sicheren Zähler zu schreiben:
```kotlin
class Counter {
private var count = 0
fun increment() {
// Wie synchronisiere ich diese Methode?
count++
}
}
```
In Java hätte ich `public synchronized void increment()` geschrieben, aber in Kotlin gibt es diese Möglichkeit nicht. Ich habe in der Dokumentation gefunden, dass es die Annotationen `@Synchronized` und `@Volatile` gibt, aber das ist nicht dasselbe wie Schlüsselwörter. Mir scheint, dass dies eine sehr seltsame Entscheidung für eine Sprache ist, die vorgibt, ein moderner Ersatz für Java zu sein.
Warum haben die Entwickler von Kotlin auf diese Schlüsselwörter verzichtet? Wie soll ich jetzt korrekt Multithread-Code schreiben? Muss ich
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Sicherheit von JavaScript-Anwendungen: Top-10 Schwachstellen