2PL - 两阶段锁

2024-02-27 09:18
文章标签 阶段 2pl

本文主要是介绍2PL - 两阶段锁,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8.6 两段锁协议
    所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。
    ·在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;
    ·在释放一个封锁之后,事务不再申请和获得任何其他封锁。
    所谓“两段”锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。
    例如事务T1遵守两段锁协议,其封锁序列是:
   
    可以证明,若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策
略都是可串行化的。
    需要说明的是,事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。也就是说;若并发事务都遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的:若对并发事务的一个调度是可串行化的,不一定所有事务都符合两段锁协议。
    在图8.6中,(a)和(b)都是可串行化的调度,但(a)中T1和T2都遵守两段锁协议,(b)中T1和T2不遵守两段锁协议。又如图8.5中(d)是可串行化的调度,但T1和T2也不遵守两段锁协议。
    另外要注意两段锁协议和防止死锁的一次封锁法的异同之处。一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行,因此一次封锁法遵守两段锁协议;但是两段锁协议并不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁,如图8.7所示。
图8.6、8.7
    
                              
     

这篇关于2PL - 两阶段锁的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/751932

相关文章

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

8阶段项目:五子棋(附带源码)

8阶段项目:五子棋 8.1-技术实现 1.静态变量 静态变量只能定义在类中,不能定义在方法中。静态变量可以在static修饰的方法中使用,也可以在非静态的方法中访问。主要解决在静态方法中不能访问非静态的变量。 2.静态方法 静态方法就相当于一个箱子,只是这个箱子中装的是代码,需要使用这些代码的时候,就把这个箱子放在指定的位置即可。   /*** 静态变量和静态方法*/public cl

2023 CCPC(秦皇岛)现场(第二届环球杯.第 2 阶段:秦皇岛)部分题解

所有题目链接:Dashboard - The 2023 CCPC (Qinhuangdao) Onsite (The 2nd Universal Cup. Stage 9: Qinhuangdao) - Codeforces 中文题面: contest-37054-zh.pdf (codeforces.com) G. Path 链接: Problem - G - Codeforces

【笔记-流程记录】从零开始做一个人形怪兽(建模阶段)

大型 1.第一步还是找素模,打开材质球,吸管点一下,就会出现素模的贴图,一共有四个 比如,点进去第一个,再点漫反射,再点psd就会得到相应的贴图 2.然后我们依然是面片然后插入参考图 如果透视窗口啥都没有,按g也不显示线框。那按下z(居中视图),然后再试一下按G显示栅格。 3.导入素模,重置变换 注释:重置变换是一个非常有用的功能,主要用于将对象的变换属性(位置、旋

[Android] [SnapdragonCamera] 单摄(横屏)阶段总结

在研高通平台的单摄项目中遇到了很多适配问题,做一下初步的总结,为今后遇到相似的问题,提供参考方案。          1. 横屏设置相机预览显示不正常               1.1问题现象                       1.2分析与解决              骁龙相机默认的预览方向是“portrait”。在横屏设备上显示的时候就会出现上面效果。实际

红日靶场----(四)1.后渗透利用阶段

使用Metasploit进入后渗透利用阶段     一旦我们获取了目标主机的访问权限,我们就可以进入后渗透利用阶段,在这个阶段我们收集信息,采取措施维护我们的访问权限,转向其他机器     Step01:上线MSF(通过metasploit获取目标系统的会话-即SHELL) 常用选项-p //指定生成的Payload--list payload //列出所支持的Payload类

MySQL的知识阶段小总结

1.MySQL的库操作 1.1 MySQL 显示已建库操作  语法格式:show databases; 注意事项:是databases而不是database,要加s。 使用该SQL语句,可以查找当前服务器所有的数据库。huan 如上图所示,画红框的Java13和test113是用户自己创建好库, 画蓝框里的的数据库是MySQL自带的数据库。 1.2 MySQL建库语法和一些小细

Flink重点难点:状态(Checkpoint和Savepoint)容错与两阶段提交

点击上方蓝色字体,选择“设为星标” 回复”面试“获取更多惊喜 在阅读本文之前,你应该阅读过的系列: 《Flink重点难点:时间、窗口和流Join》《Flink重点难点:网络流控和反压》《Flink重点难点:维表关联理论和Join实战》《Flink重点难点:内存模型与内存结构》《Flink重点难点:Flink Table&SQL必知必会(一)》Flink重点难点:Flink Table&SQL必

不等了,华为计划在5.5G阶段就实现6G的空天地一体通讯网络功能

朋友们,你们是否曾经幻想过,无论身处何地,都能保持与世界的无缝连接?在偏远的山区、在茫茫的大海、甚至是在飞机上,都能享受畅通无阻的网络服务? 现在,这不再是幻想,华为正计划将这一切变为现实。在最近召开的空天信息产业国际生态大会上,华为的余承东宣布了一项激动人心的计划——在5.5G时代就实现6G的空天地一体通讯网络功能。 一、星地融合,永不失联 华为一直在探索如何将卫星通信技术与地面网络相

信息安全发展阶段与形式

关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 0x01:信息安全的发展阶段 信息安全的发展阶段可以参照下面的思维导图: 0x02:我国的信息安全形式 2013 年,“棱镜门” 事件在全球持续发酵,隐藏在互联网背后的国家力量和无所不在的 “监控” 之手,引起舆论哗然和网络空间的连锁反应。全球范围内陡然上升的网络攻击威胁,导致各国对信息安全的重视程度急