Il semble qu'il y a eu récemment une hausse des intérêts de la STM (logiciel de la mémoire transactionnelle) les cadres et les extensions de langage. Clojure , en particulier, a une excellente application qui utilise MVCC (version multi-contrôle de la simultanéité) plutôt que d'un rouleau à commettre journal. GHC Haskell a aussi un très élégant STM monade qui permet également de l'opération de composition. Enfin, afin de sonner mon propre klaxon juste un peu, j'ai récemment mis en œuvre un cadre de la STM pour Scala qui applique de manière statique de référence des restrictions.
Tous ces éléments sont des expériences intéressantes, mais ils semblent être limités à ce seul domaine (l'expérimentation). Donc ma question est: n'avez-vous vu ou utilisé la STM dans le monde réel? Si oui, pourquoi? Quel genre d'avantages n'avait-il apporter? Quid des performances? (il semble y avoir beaucoup d'informations contradictoires sur ce point) utiliseriez-vous de la STM à nouveau ou vous préférez utiliser un autre simultanéité de l'abstraction comme des acteurs?