Esta es una pregunta teórica motivada por mi deseo de comprender mejor la concurrencia de Clojure.¿Deberían leerse múltiples refs de Clojure en una transacción por consistencia?
Digamos que estoy escribiendo boids. Supongamos que cada boid es un hilo verde separado que muta posiciones en un vector o refs que representa una rejilla mundial. Piensa en la colonia de hormigas de Hickey.
Ahora, la documentación en Clojure.org indica que "Todas las lecturas de Refs verán una instantánea consistente del 'mundo Ref' a partir del punto de inicio de la transacción (su 'punto de lectura')".
¿Esto significa que sólo se puede obtener una imagen coherente de mi simulación, por ejemplo, para dibujar, mediante la lectura de mi vector de referencias dentro de una transacción (es decir, dentro de un contexto dosync?)
Gracias!