栏目:分布式与大数据 作者:admin 日期:2018-11-05 评论:0 点击: 684 次
修订之前的内容,以此文为主。
1 未授权读取
未授权读取,这个概念是最准确的,以此概念为主。这种情况,直接从内存读取数据,犹如两个事务a,b操作同一个变量, b事务没有结束,但是a事务能读取到b事务修改的值。
2 授权读取
可以想象成:增加了工作内存,在工作内存完成计算,然后提交到主内存,主内存变量修改之后,通知其他事务的工作内存数据失效,从而造成不可重复读。
3 可重复读
对主内存进行加锁,一旦一个事务获取了某个值,则不能再被修改,但是可以修改值所指向的内存空间的数据,(注:此处的场景将主内存当做一个常量指针,指针里面的地址空间不可变,但是地址空间里面的数据可变,需要有C语言的基础方能明白这个场景;后来又想到一点,Java里面的final可以实现同样的功能)造成幻读。举个不恰当的例子:犹如看春晚一样,观众把主持人拉出了,看他主持节目,这是一个事务;化妆师拉住主持人,给他更新服装,这是另外一个事务。虽然,都是同一个主持人,但是换了服装,跟变魔术一样,幻觉也。
4 串行化
略
------====== 本站公告 ======------
金丝燕网,一个严谨的网站!