文档章节

数据库x锁和s锁

wayhk
 wayhk
发布于 2015/05/02 22:17
字数 323
阅读 18
收藏 0

  共享锁(S锁):

  如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。

  排他锁(X锁):

  如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。

  简要说明为什么会发生死锁?解决死锁的主要方法是什么?

  若干事务相互等待释放封锁,就陷入无限期等待状态,系统就进入死锁

  解决死锁的方法应从预防和解除的两个方面着手:

  (1)死锁的预防方法:①要求每一个事务必须一次封锁所要使用的全部数据(要么全成功,要么全不成功)②规定封锁数据的顺序,所有事务必须按这个顺序实行封锁。

  (2)允许死锁发生,然后解除它,如果发现死锁,则将其中一个代价较小的事物撤消,回滚这个事务,并释放此事务持有的封锁,使其他事务继续运行。

 


本文转载自:

共有 人打赏支持
上一篇: 网络知识
下一篇: struts2原理
wayhk
粉丝 2
博文 36
码字总数 17367
作品 0
海淀
程序员
私信 提问
Oracle的TX锁(行级锁、事务锁)

问题:如何使用事务? 回答:一共有三步。 1、先开启事务。 •在Oracle中,事务是在上一次事务结束以后,数据“第一次”被修改时自动开启。 •在java中,设置连接为手动提交模式开始。代码:...

swearyd457
2013/10/10
0
0
事务并发的可能问题与其解决方案

一、多个事务并发时可能遇到的问题 Lost Update 更新丢失 a. 第一类更新丢失,回滚覆盖:撤消一个事务时,在该事务内的写操作要回滚,把其它已提交的事务写入的数据覆盖了。b. 第二类更新丢失...

傅易
2016/11/20
154
0
数据库锁:乐观锁和悲观锁,共享锁和排它锁,行级锁和表级锁

一、悲观锁和乐观锁 我们经常在开发中遇到数据库并发处理时,处理不一致的问题。需要对程序做并发控制。 典型的并发时出现的冲突有两种: 1、丢失更新:一个事务的更新覆盖了其它事务的更新结...

vshcxl
2016/07/13
101
0
数据库中的锁

锁的概述一. 为什么要引入锁多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票...

东风125
2015/11/22
117
0
数据库锁的相容性矩阵 解释

文章来自知乎 矩阵如下: 请求的模式 IS S U IX SIX X 意向共享 (IS) 是 是 是 是 是 否 共享 (S) 是 是 是 否 否 否 更新 (U) 是 是 否 否 否 否 意向排他 (IX) 是 否 否 是 否 否 意向排他...

iOS_愛OS
2017/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
17分钟前
0
0
了解Nginx

1. 安装Nginx 版本 nginx-1.14.0 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲...

编程SHA
32分钟前
0
0
虚拟化 - KVM 和 Xen 比较

Linux虚拟化技术的用户目前有两种免费的开源管理程序可以选择:Xen和KVM。 作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商业...

临江仙卜算子
50分钟前
1
0
给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
今天
2
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部