5

数据库中的显式锁和隐式锁有什么区别?

4

3 回答 3

2

隐式锁通常由 DBMS 自动放置。大多数 DBMS 允许开发人员或应用程序发出称为显式锁的锁。

于 2010-09-08T20:27:42.880 回答
2

隐式锁定

Objectivity/DB 将在需要时为您的应用程序隐式获取适当的锁。读取对象的操作将获得读锁;修改对象的操作将获得写锁。

显式锁定

隐式锁定在应用程序需要时获得对资源的访问权限。通常,Objectivity/DB 的自动锁定提供了足以满足大多数应用程序的联邦数据库并发级别。

但是,某些应用程序可能需要提前保留对所有必需资源的访问权限。这样做的原因可能是为了在开始操作之前确保对必要对象的访问权限,或者防止其他会话修改对操作至关重要的对象。

需要提前保留对所有必需对象的访问权限的应用程序可以显式锁定对象。假设应用程序需要根据多个对象在特定时间点的状态来计算一个值。虽然应用程序不能同时检查所有必需的对象,但它可以通过冻结对象的状态然后依次检查它们来达到相同的效果。显式锁定有效地冻结了对象,因为只要它们被锁定,其他会话就不能修改它们。

于 2014-01-27T12:16:46.837 回答
0
  • 显式锁: - 显式地为记录或表请求锁。
  • 隐式锁定:- 隐含锁定但未获得
于 2012-11-16T14:07:27.283 回答