第一章 锁定和并发控制(一)
任何多进程系统的一个重要特征是并发控制,即防止不同进程同时更改特定数据元素的能力,从而导致损坏。 提供了一个锁管理系统。本文提供了一个概述。
此外,%Persistent 类提供了一种控制对象并发访问的方法,即 %OpenId() 的并发参数和该类的其他方法。这些方法最终使用本文讨论的 ObjectScript LOCK 命令。所有持久对象都继承这些方法。同样,系统会自动对 、 和 操作执行锁定(除非指定 关键字)。
类还提供方法 、%ReleaseLock()、、、 和 。
介绍
基本的锁定机制是 命令。此命令的目的是延迟一个进程中的活动,直到另一个进程发出可以继续进行的信号。
锁本身并不能阻止活动行为。锁定仅按约定起作用:它要求相互竞争的进程都使用相同的锁定名称实现锁定。例如,下面描述了一个常见的场景:
- 进程
A发出LOCK命令, 创建一个锁(默认情况下,一个独占锁)。通常,进程 然后对中的节点进行更改。详细信息是特定于应用程序的。 - 进程 发出具有相同锁名称的 命令。因为存在一个现有的排他锁,所以进程
B暂停。具体来说, 命令不返回,并且不能执行连续的代码行。 - 当进程释放锁时,进程中的命令最终返回,进程B继续。通常,进程 然后对同一中的节点进行更改。
锁名称
命令的参数之一是锁名称。
.png)
.png)
.png)
.png)
