Ich möchte das Verhalten eines Clojure-Programms gegenüber einer Sperrversion in C analysieren. Eine Metrik, die ich verfolgen möchte, ist die Gesamtzahl der abgebrochenen Transaktionen für mein Clojure-Programm.
Das einzige Problem ist, dass ich eine Variable nicht außerhalb des Kontextes der Transaktion, in der ich mich befinde, mutieren kann. Was ich versuche, ist Folgendes:
%Vor%Natürlich werden total_aborts niemals inkrementiert, wenn die Transaktion nicht beendet wird !!! Wie kann ich das tun? Danke!
Sie können my-num
und total-aborts
Atome erstellen und swap!
anstelle von alter
verwenden.
Tags und Links clojure functional-programming transactions