Multiverse是一款采用Java编写的基于Apache 2许可发布的开源SMT(Software Transactional Memory)框架。本次发布的Multiverse STM 0.4版本是第一个可以被用于实际出产中的产品。
尽管基于concurrency控制的传统lock也很强盛(Multiverse内部也是依靠该机制),但这种机制也过于复杂,轻易犯错。而SMT(Software Transactional Memory)的灵感来于通过依靠事务治理,可以防止 isolation题目的发生。
特性:
- 可选的只读事务
- 可选阅读跟踪功能
- 支持嵌套事务
- 支持整合Scala
- 提供了对数据结构的事务支持(List, BlockingQueue, BlockingDeque)
- 支持事务执行者
长期目标:
- 更多的机能改进
- transparent持久性
- 分布式事务和分布式事务对象
- JEE集成(JTA/JPA等)
- 进入极限事务处理领域
- contention治理
- 无缝集成Scala和Groovy