У меня есть следующий фрагмент кода
(def number (ref 0))
(dosync (future (alter number inc))) ; A
(future (dosync (alter number inc))) ; B
Второй успешно, но первый терпит неудачу с no transaction is running
. Но он завернут в досинк, верно?
Запоминает ли clojure открытие транзакций в зависимости от того, в каком потоке он был создан?