- 33
- 0
- 约1.11万字
- 约 10页
- 2017-01-01 发布于湖北
- 举报
死锁产生的原因和解锁的方法要素
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
二?锁的分类??锁的类别有两种分法:??1.?从数据库系统的角度来看:分为独占锁(即排它锁),共享锁和更新锁??MS-SQL?Server?使用以下资源锁模式。??锁模式?描述??共享?(S) :读锁,用于不更改或不更新数据的操作(只读操作),如?SELECT?语句。??更新?(U) :(介于共享和排它锁之间),可以让其他程序在不加锁的条件下读,但本程序可以随时更改。
读取表时使用更新锁,而不使用共享锁,并将锁一直保留到语句或事务的结束。UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。当我们用UPDLOCK来读取记录时可以对取到的记录加上更新锁,从而加上锁的记录在其它的线程中是不能更改的只能等本线程的事务结束后才能更改,我如下示例:
BEGIN TRANSACTION --开始一个事务
SELECT Qty
FROM myTable WITH (UPDLOCK)
WHERE Id in (1,2,3)
UPDATE myTable SET Qty = Qty - A.Qty
FROM myTable AS A
INNER JOIN @_Table AS B ON A.ID = B.ID
COMMIT TRANSACTION --提交事务
这样在更新时其它的线程或事务在这些语句执行完成前是不能更改ID是1,2,3的记录的.其它的都可以修改和读,1,2,3的只能读,要是修改的话只能等这些语句完成后才能操作.从而保证的数据的修改正确.
??排它?(X):写锁。 用于数据修改操作,例如?INSERT、UPDATE?或?DELETE。确保不会同时同一资源进行多重更新。??意向锁?用于建立锁的层次结构。意向锁的类型为:意向共享?(IS)、意向排它?(IX)?以及与意向排它共享?(SIX)。??架构锁?在执行依赖于表架构的操作时使用。架构锁的类型为:架构修改?(Sch-M)?和架构稳定性?(Sch-S)。??大容量更新?(BU)?向表中大容量复制数据并指定了?TABLOCK?提示时使用。??共享锁?共享?(S)?锁允许并发事务读取?(SELECT)?一个资源。资源上存在共享?(S)?锁时,任何其它事务都不能修改数据。一旦已经读取数据,便立即释放资源上的共享?(S)?锁,除非将事务隔离级别设置为可重复读或更高级别,或者在事务生存周期内用锁定提示保留共享?(S)?锁。??更新锁?更新?(U)?锁可以防止通常形式的死锁。一般更新模式由一个事务组成,此事务读取记录,获取资源(页或行)的共享?(S)?锁,然后修改行,此操作要求锁转换为排它?(X)?锁。如果两个事务获得了资源上的共享模式锁,然后试图同时更新数据,则一个事务尝试将锁转换为排它?(X)?锁。共享模式到排它锁的转换必须等待一段时间,因为一个事务的排它锁与其它事务的共享模式锁不兼容;发生锁等待。第二个事务试图获取排它?(X)?锁以进行更新。由于两个事务都要转换为排它?(X)?锁,并且每个事务都等待另一个事务释放共享模式锁,因此发生死锁。??若要避免这种潜在的死锁问题,请使用更新?(U)?锁。一次只有一个事务可以获得资源的更新?(U)?锁。如果事务修改资源,则更新?(U)?锁转换为排它?(X)?锁。否则,锁转换为共享锁。??排它锁?排它?(X)?锁可以防止并发事务对资源进行访问。其它事务不能读取或修改排它?(X)?锁锁定的数据。??意向锁?意向锁表示?SQL?Server?需要在层次结构中的某些底层资源上获取共享?(S)?锁或排它?(X)?锁。例如,放置在表级的共享意向锁表示事务打算在表中的页或行上放置共享?(S)?锁。在表级设置意向锁可防止另一个事务随后在包含那一页的表上获取排它?(X)?锁。意向锁可以提高性能,因为?SQL?Server?仅在表级检查意向锁来确定事务是否可以安全地获取该表上的锁。而无须检查表中的每行或每页上的锁以确定事务是否可以锁定整个表。?意向锁包括意向共享?(IS)、意向排它?(IX)?以及与意向排它共享?(SIX)。????
死锁原理
??? 根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
??? 死锁的四个必要条件:互斥条件(
您可能关注的文档
- 武汉大学优美背景ppt要素.ppt
- 武汉大学思修第一讲要素.ppt
- 武汉大学硕士学位论文印制规定要素.doc
- 武汉大学计量地理学作业要素.ppt
- 武汉大学遥感院-工程测量重点要素.doc
- 武汉工商营业执照年检网上申报流程操作指南要素.doc
- 武汉市2016届高三文科综合测试(一)要素.doc
- 武汉市RAS法核算投入产出表(2015年)要素.docx
- 武汉市2016届高中毕业生4月调研考试理科综合物理试题(word版)要素.doc
- 武汉市PM2.5污染源位置确定及其来源分析要素.docx
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
原创力文档

文档评论(0)