首先要抱怨下,我在发表回复的窗口打字,时间超过了浏览器刷新的时间框,结果浏览器自动刷新时,我的评论丢失了,哎。。。。
@BrightSpring
你的回答不错,我没有考虑到 Isolation, 但是我觉得我的方案在某些应用情况下是可以工作的。打一个不太恰当的比喻:父亲回家了,三个小孩都会得到糖果,如果哪一个没得到,其他的小孩都不会得到,以示公平。可以用三个线程让每个小孩得到糖果。这里,得到糖果如果是一条insert语句的话,那么我们只需要ACD得到保证,Isolation可有可无,如果insert语句不违反数据库的约束。
之前我的回复中提到STM,STM旨在提供一个替代Java Lock且避免死锁的机制,其中的T是对java heap中变量的修改提供类似于数据库事务的一种保护机制,和我要求的多线程&数据库事务没有半点关系。