En el post anterior, ya vimos lo difícil que es manejar concurrencia en Java, cuando usamos únicamente las herramientas que nos ofrece el JDK. Algunos llaman a este modelo synchronize and suffer.
En esta segunda parte, veremos una alternativa, implementada desde hace mucho tiempo en Lisp, y recientemente en Clojure, un lenguaje alterno para la JVM basado en Lisp. Este modelo de llama memoria transaccional, o STM, Software Transactional Memory.
Clojure es un lenguaje alternativo para la JVM, basado en Lisp. En Clojure no hay variables, todo es inmutable. Sí, otra vez: en Clojure no hay variables. O si de plano no pueden concebir algo así, entonces pueden verlo de esta forma: en Clojure, todas las variables son inmutables. Es decir, una vez que asignan un valor a una variable, no se puede volver a modificar. Cuando dicen a=1, ya no pueden posteriormente cambiar el valor de a (por lo tanto, si ya no pueden variar, no se pueden llamar variables... se llaman valores).
Comentarios recientes
hace 15 horas 26 mins
hace 1 día 11 mins
hace 1 día 14 horas
hace 1 día 15 horas
hace 1 día 15 horas
hace 1 día 18 horas
hace 1 día 20 horas
hace 1 día 22 horas
hace 1 día 23 horas
hace 1 día 23 horas