Transactional memory in Clojure is implemented using Multiversion Concurrency Control protocol

http://en.wikipedia.org/wiki/Transactional_memory

http://en.wikipedia.org/wiki/Multiversion_concurrency_control

MVCC is the concurrency protocol used in many mainstream database systems including Oracle, Sybase, PostgreSQL, IBM DB2, Microsoft SQL Server, and MySQL/InnoDB.


"write skew anomaly" can happen in case of MVCC because MVCC makes a copy of the isolated transaction status, see http://en.wikipedia.org/wiki/Snapshot_isolation for a good example, and also http://www.blogjava.net/killme2008/archive/2010/08/archive/2010/07/archive/2010/07/archive/2010/07/17/326362.html

 

good articles on Agent implementation in Clojure:

http://www.blogjava.net/killme2008/archive/2010/07/archive/2010/07/19/326540.html

http://www.blogjava.net/killme2008/archive/2010/07/30/327606.html

相关文章:

  • 2021-11-11
  • 2022-02-05
  • 2021-11-14
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-24
  • 2022-01-15
  • 2021-10-24
  • 2022-12-23
相关资源
相似解决方案