Class LockService

잠금서비스

코드 섹션에 대한 동시 액세스를 방지합니다. 이는 공유 리소스를 수정하는 여러 사용자 또는 프로세스가 있고 충돌을 방지하려는 경우에 유용할 수 있습니다.

메서드

메서드반환 유형간략한 설명
getDocumentLock()Lock현재 문서의 사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다.
getScriptLock()Lock사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다.
getUserLock()Lock현재 사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다.

자세한 문서

getDocumentLock()

현재 문서의 사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다. 문서 잠금으로 보호되는 코드 섹션은 서로 다른 문서의 컨텍스트에서 실행되는 스크립트 인스턴스에서 동시에 실행할 수 있지만, 특정 문서에 대해 한 번만 실행할 수 있습니다. Lock.tryLock(timeoutInMillis) 또는 Lock.waitLock(timeoutInMillis)가 호출될 때까지는 실제로 잠금이 획득되지 않습니다. 이 메서드가 포함된 문서의 컨텍스트 외부에서 호출되면 (예: 독립형 스크립트 또는 웹앱에서) null이 반환됩니다.

리턴

Lock: 스크립트 및 현재 문서에 범위가 지정된 잠금 또는 독립형 스크립트 또는 웹 앱에서 호출된 경우 null


getScriptLock()

사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다. 스크립트 잠금으로 보호되는 코드 섹션은 사용자 ID와 관계없이 동시에 실행할 수 없습니다. Lock.tryLock(timeoutInMillis) 또는 Lock.waitLock(timeoutInMillis)가 호출될 때까지는 실제로 잠금이 획득되지 않습니다.

리턴

Lock: 스크립트 범위의 잠금


getUserLock()

현재 사용자가 코드 섹션을 동시에 실행하지 못하도록 하는 잠금을 가져옵니다. 사용자 잠금으로 보호되는 코드 섹션은 여러 사용자가 동시에 실행할 수 있지만, 특정 사용자는 한 번 이상 실행할 수 없습니다. 도어락은 사용자에게 '비공개'입니다. Lock.tryLock(timeoutInMillis) 또는 Lock.waitLock(timeoutInMillis)가 호출될 때까지 실제로는 잠금이 획득되지 않습니다.

리턴

Lock - 스크립트 및 현재 사용자로 범위가 지정된 잠금