两段锁协议

两段锁协议: 是指所有的事务必须分两个阶段对数据项加锁和解锁。即事务分两个阶段,第一个阶段是获得封锁。事务可以获得任何数据项上的任何类型的锁,但是不能释放;第二阶段是释放封锁,事务可以释放任何数据项上的任何类型的锁,但不能申请。

第一阶段是获得封锁的阶段,称为扩展阶段:其实也就是该阶段可以进入加锁操作,在对任何数据进行读操作之前要申请获得S锁在进行写操作之前要申请并获得X锁加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。就是加锁后就不能解锁了。

第二阶段是释放封锁的阶段,称为收缩阶段:当事务释放一个封锁后,事务进入封锁阶段,在该阶段只能进行解锁而不能再进行加锁操作

这里举个例子说明:

事务遵守两段锁协议,其封锁序列是:


Lock A, Read A, A:=A+100, Write A, Lock B, Unlock A, Read B, Unlock B, Commit;

显然,上图中D事务不遵守两段锁协议。整个加锁阶段不能有解锁,解锁阶段不能有加锁

可以证明,若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
NetAssist 808协议是一种用于车载终端的通信协议。 NetAssist 808协议定义了车载终端与监控平台之间的通信规则和数据格式。通过该协议,监控平台可以实时监控车载终端的位置、状态等信息,并向车载终端发送指令进行控制。 NetAssist 808协议采用TCP/IP协议作为底层通信协议,通过GPRS或CDMA等无线网络进行数据传输。使用TCP/IP协议可以保证数据传输的可靠性和稳定性。 NetAssist 808协议中定义了多种消息类型,包括心跳消息、位置消息、报警消息等。心跳消息用于维持车载终端和监控平台之间的连接,确保双方通信正常;位置消息记录了车载终端当前的位置信息,包括经纬度、速度等;报警消息用于向监控平台发送车载终端的报警信息,如超速报警、疲劳驾驶报警等。 NetAssist 808协议还定义了车载终端与监控平台之间的指令交互方式。监控平台可以向车载终端发送指令,如远程锁车、远程取消锁车等。车载终端接收到指令后,执行相应操作,并将执行结果返回给监控平台。 NetAssist 808协议的应用领域广泛,包括车辆监控、物流管理、公共交通等。通过与GPS定位技术结合,可以实现对车辆位置和运行状态的实时监控,提高车辆运行效率和安全性。 总结来说,NetAssist 808协议是一种用于车载终端通信的协议,它定义了与监控平台之间的消息交互方式和数据格式,实现了对车辆位置和状态的实时监控和远程控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

swordbob

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值