我经常有这样一种印象,即可以在事务和线程之间进行类比。事实上:
- 交易是一系列行动。正在运行的线程是一系列语句。
- 事务读取/修改行和表(就关系数据库而言)。线程读取/修改类和静态字段。
- 事务利用locks来实现数据一致性。 So做线程。
醇>
如果真的发生了类比,那么每个人都可以更容易地使用他们的多线程知识来理解交易(反之亦然)。
然而,存在一个问题:在多线程领域,事务提交(或 rollback )似乎没有类似的近似。
这是否意味着现实中的类比只是一种幻觉,在学习交易时最好不要使用多线程知识?或者仍然有提交/回滚的类比?