Pourquoi Kotlin n'a-t-il pas de mots-clés pour la concurrence (synchronized, volatile) ?
Bonjour à tous ! Je suis un développeur débutant en Kotlin, venant de Java. En Java, j'avais l'habitude d'utiliser les mots-clés `synchronized`, `volatile`, ainsi que les blocs `synchronized` pour gérer l'accès aux ressources partagées dans les applications multithreadées. Mais quand j'ai commencé à coder en Kotlin, j'ai remarqué que le langage n'a pas ces mots-clés ! Par exemple, j'ai essayé d'écrire un compteur thread-safe simple :
```kotlin
class Counter {
private var count = 0
fun increment() {
// Comment synchroniser cette méthode ?
count++
}
}
```
En Java, j'aurais écrit `public synchronized void increment()`, mais en Kotlin, une telle possibilité n'existe pas. J'ai trouvé dans la documentation qu'il y a l'annotation `@Synchronized` et `@Volatile`, mais ce n'est pas la même chose que les mots-clés. Il me semble que c'est une décision très étrange pour un langage qui prétend être un remplacement moderne de Java.
Pourquoi les créateurs de Kotlin ont-ils abandonné ces mots-clés ? Comment dois-je maintenant écrire correctement du code multithreadé ? Faut-il
No answers yet.
Connectez-vous pour laisser une réponse