Vorrei analizzare il comportamento di un programma Clojure rispetto a una versione di blocco in C. Una metrica che vorrei tracciare è il numero totale di transazioni interrotte per il mio programma Clojure.Conteggio delle transazioni interrotte in Clojure
L'unico problema è che non riesco a mutare una variabile al di fuori del contesto della transazione che io sono in quello che sto cercando di fare è questo:.
(dosync
(try
(alter my_num inc)
(catch Throwable t
(do
(alter total_aborts inc)
(println "Caught " (.getClass t))
(throw t)))))
Naturalmente, sarà total_aborts mai incrementato se la transazione non finisce !!! Quindi, come posso fare questo? Grazie!
http://stackoverflow.com/questions/4792197/how-can-i-see-the-number-of-rollbacks-in-my-stm-in-clojure –