Class LockService

LockService

可避免並行存取程式碼區段。如果有多位使用者或程序修改共用資源,且您想避免衝突,這項功能就很實用。

方法

方法傳回類型簡短說明
getDocumentLock()Lock取得鎖定,可防止目前文件的任何使用者同時執行程式碼區段。
getScriptLock()Lock取得鎖定,防止任何使用者同時執行某段程式碼。
getUserLock()Lock取得鎖定,避免目前使用者同時執行某個程式碼段。

內容詳盡的說明文件

getDocumentLock()

取得鎖定,可防止目前文件的任何使用者同時執行程式碼區段。由文件鎖定保護的程式碼區段,可由在不同文件內容中執行的指令碼例項同時執行,但任何特定文件的執行次數不得超過一次。請注意,系統必須呼叫 Lock.tryLock(timeoutInMillis)Lock.waitLock(timeoutInMillis),才能實際取得鎖定。如果在包含文件的內容之外呼叫此方法 (例如從獨立指令碼或網路應用程式),系統會傳回 null

回攻員

Lock:鎖定範圍為指令碼和目前文件,如果是從獨立指令碼或 webapp 呼叫,則為 null


getScriptLock()

取得鎖定,防止任何使用者同時執行某段程式碼。無論使用者身分為何,受指令碼鎖定保護的程式碼區段都無法同時執行。請注意,系統必須呼叫 Lock.tryLock(timeoutInMillis)Lock.waitLock(timeoutInMillis),才能實際取得鎖定。

回攻員

Lock:鎖定範圍為指令碼


getUserLock()

取得鎖定,避免目前使用者同時執行程式碼段落。由使用者鎖定保護的程式碼區段可由不同使用者同時執行,但任何特定使用者最多只能執行一次。鎖定功能對使用者而言是「私人」的,請注意,只有在呼叫 Lock.tryLock(timeoutInMillis)Lock.waitLock(timeoutInMillis) 時,系統才會實際取得鎖定。

回攻員

Lock:鎖定範圍限定為指令碼和目前使用者