博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并发调度的可串行性
阅读量:5131 次
发布时间:2019-06-13

本文共 444 字,大约阅读时间需要 1 分钟。

可串行化:多个任务并发执行是正确的,当且仅当起结果与按某种次序串行执行这些任务时产生的结果一样,称这种调度策略为可串行化调度。

冲突操作:不同任务对同一数据的读写操作和写写操作,其它任务都是不冲突的。

冲突可串行化:冲突操作的顺序是不能调换的,不冲突操作可以调换顺序。这样的调换之后,调度仍然是串行的,所以叫冲突可串行化的调度。

冲突可串行化是可串行化的充分条件,不是必要条件,所以冲突可串行化的一定是可串行化的调度,但是可串行化的调度不一定是冲突可串行化的调度,还有不满足冲突可串行化的客串性话调度。

两段锁协议:满足1)一个任务对任何数据进行读、写之前,首先要获得对该数据的锁,2)释放一个锁之后,进入释放阶段,就不能再继续获得新的锁了。也就是说把锁的过程分为获得锁(扩展阶段)和释放锁(收缩阶段)两个阶段,且两个阶段没有重叠区。

可以证明,遵循两段锁的调度是是可串行化调度的充分条件。

转载于:https://www.cnblogs.com/JMLiu/p/8410761.html

你可能感兴趣的文章
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>
NAT地址转换
查看>>
Nhibernate 过长的字符串报错 dehydration property
查看>>