Impede acesso simultâneo a seções de código. Isso pode ser útil quando você tem vários usuários ou processos modificando um recurso compartilhado e quer evitar colisões.
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
getDocumentLock() | Lock | Recebe um bloqueio que impede que qualquer usuário do documento atual execute simultaneamente uma seção de código. |
getScriptLock() | Lock | Recebe um bloqueio que impede que qualquer usuário execute simultaneamente uma seção de código. |
getUserLock() | Lock | Recebe um bloqueio que impede que o usuário atual execute simultaneamente uma seção de código. |
Documentação detalhada
getDocumentLock()
Recebe um bloqueio que impede que qualquer usuário do documento atual execute simultaneamente uma seção de código. Uma seção de código protegida por um bloqueio de documento pode ser executada simultaneamente por instâncias de script
em execução no contexto de documentos diferentes, mas no máximo uma execução para
um documento. Observe que o bloqueio não será adquirido até que Lock.tryLock(timeoutInMillis)
ou Lock.waitLock(timeoutInMillis)
seja chamado. Se esse método for chamado fora do contexto de um documento que o contém (como de um script autônomo ou app da Web), null
será retornado.
Retorno
Lock
: um bloqueio com escopo para o script e o documento atual, ou null
se chamado de um script autônomo ou app da Web
getScriptLock()
Recebe um bloqueio que impede que qualquer usuário execute simultaneamente uma seção de código. Uma seção de código
protegida por um bloqueio de script não pode ser executada simultaneamente, independente da identidade do
usuário. O bloqueio não é adquirido até que Lock.tryLock(timeoutInMillis)
ou Lock.waitLock(timeoutInMillis)
seja chamado.
Retorno
Lock
: um bloqueio com escopo para o script.
getUserLock()
Recebe um bloqueio que impede que o usuário atual execute simultaneamente uma seção de código. Uma seção
de código protegida por um bloqueio de usuário pode ser executada simultaneamente por usuários diferentes, mas no máximo uma
execução para um usuário. O bloqueio é "particular" ao usuário. Observe que o
bloqueio não é realmente adquirido até que Lock.tryLock(timeoutInMillis)
ou Lock.waitLock(timeoutInMillis)
seja
chamado.
Retorno
Lock
: um bloqueio com escopo para o script e o usuário atual.