多个事务和一个事务的不同点
我的另一篇博客有我关于这个方案的的例子解释:多线程和事务之Workaround
[该贴被leizhaojin于2013-09-11 21:20修改过]
正如你自己帖子中提到:所以在最先启动的线程和最后启动的线程这个时间段里,数据库的状态可能发生了变化,比如某些数据被删除了,就会造成最终结果的不精确。
其实无论是使用数据库锁 还是多线程,这里有一个共同思路,就是将数据喂给线程,就如同计算机是一套加工流水线,数据作为原材料投入这个流水线的开始,流水线出来后就是成品,这套模式的前提是数据是被动的,自身不复杂,没有自身业务逻辑要求。适合大数据处理或互联网网站应用等等。
但是如果数据自身要求有严格的一致性,也就是事务机制,数据就不能被动被加工,要让数据自己有行为能力保护实现自己的一致性,就像孩子小的时候可以任由爸妈怎么照顾关心都可以,但是如果孩子长大有自己的思想和要求,他就可能不喜欢被爸妈照顾,他要求自己通过行动实现自己的要求。
数据也是如此。
只有我们改变思路,让数据自己有行为维护自己的一致性,才能真正安全实现真正的事务。
我专门写一篇文章见:http://www.jdon.com/45728
[该贴被banq于2013-09-12 08:02修改过]