코드 섹션에 대한 동시 액세스를 차단합니다. 이는 여러 사용자 또는 프로세스가 공유 리소스를 수정하는 상황에서 충돌을 방지하려는 경우에 유용할 수 있습니다.
방법
메서드 | 반환 유형 | 간략한 설명 |
---|---|---|
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
: 스크립트 및 현재 사용자로 범위가 지정된 잠금