Avatar ·

¿Por qué Kotlin no tiene palabras clave para concurrencia (synchronized, volatile)?

¡Hola a todos! Soy un desarrollador principiante en Kotlin, viniendo de Java. En Java, estoy acostumbrado a usar las palabras clave `synchronized`, `volatile`, así como bloques `synchronized` para controlar el acceso a recursos compartidos en aplicaciones multihilo. Pero cuando empecé a escribir en Kotlin, noté que el lenguaje no tiene estas palabras clave. Por ejemplo, intenté escribir un contador thread-safe simple: ```kotlin class Counter { private var count = 0 fun increment() { // ¿Cómo sincronizo este método? count++ } } ``` En Java, habría escrito `public synchronized void increment()`, pero en Kotlin no existe esa opción. Encontré en la documentación que hay una anotación `@Synchronized` y `@Volatile`, pero no es lo mismo que las palabras clave. Me parece una decisión muy extraña para un lenguaje que pretende ser un reemplazo moderno de Java. ¿Por qué los creadores de Kotlin eliminaron estas palabras clave? ¿Cómo debo escribir código multihilo correctamente ahora? ¿Necesito