对多用户环境编程 / 锁定如何工作 |
锁类型 | 用途 |
---|---|
共享的 | 共享锁为了只读保留它的对象。它防止在该锁保留期间更改该对象。多个程序可在同一对象上放置共享锁。在以共享的模式锁定记录时,多个对象可读取该记录。 |
排他的 | 排他锁为了单个程序的使用保留它的对象。当程序打算更改该对象时,使用此锁。
您不可在存在任何其他种类锁的地方放置排他锁。在您放置排他锁之后,您不可在同一对象上放置另一锁。 |
可提升的(或更新) | 可提升的(或更新)锁有更新的意图。您仅可在不存在其他可提升锁或排他锁的地方放置它。您可在已有共享锁的记录上放置可提升锁。当程序要更改该锁定了的对象时,您可将该可提升锁提升为排他锁,但仅当该锁可能从可提升的更改为排他的时刻,该记录上没有包括共享锁在内的其他锁时。如果当设置了可提升锁时,共享锁在该记录上,则在将可提升锁提升为排他锁之前,您必须删除共享锁。 |