Was ist der praktische Nutzen eines io! in Clojure blockieren?

8

Was wäre ein Beispielszenario, in dem ein io! Block würde in Clojure verwendet werden? Ich habe Probleme, seinen Zweck zu verstehen.

    
Aspasia 22.05.2017, 15:14
quelle

1 Antwort

5

Es ist ein Teil des STM-Systems für , das sicherstellt, dass auf IO bezogener Code nicht in STM-Transaktionen verwendet wird. Seit Clojure wird eine Transaktion wiederholen, wenn ein anderer Thread widersprüchliche Daten festlegt, während eine Transaktion ausgeführt wird. Jede IO, die von dieser Transaktion erzeugt wird, wäre falsch, weil sie einen Speicherstatus darstellt, der verworfen werden könnte.

    
Arthur Ulfeldt 22.05.2017 17:21
quelle

Tags und Links