Impede o acesso simultâneo a seções de código. Isso pode ser útil quando você tem vários usuários ou processos que modificam 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 do código. |
getUserLock() | Lock | Recebe um bloqueio que impede que o usuário atual execute uma seção de código simultaneamente. |
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 documentos pode ser executada simultaneamente por instâncias de script
executadas no contexto de diferentes documentos, mas não por mais de uma execução para
qualquer documento. O bloqueio não é realmente adquirido até Lock.tryLock(timeoutInMillis)
ou Lock.waitLock(timeoutInMillis)
ser chamado. Se esse método for chamado fora do contexto de um documento que contém o conteúdo (como de um script independente ou webapp), null
será retornado.
Retornar
Lock
: um bloqueio com escopo para o script e o documento atual, ou null
se chamado de um script independente ou de um webapp.
getScriptLock()
Recebe um bloqueio que impede que qualquer usuário execute simultaneamente uma seção do código. Uma seção de código
protegida por um bloqueio de script não pode ser executada simultaneamente, independentemente da identidade do
usuário. O bloqueio não é realmente adquirido até Lock.tryLock(timeoutInMillis)
ou Lock.waitLock(timeoutInMillis)
ser chamado.
Retornar
Lock
: um bloqueio com escopo para o script.
getUserLock()
Recebe um bloqueio que impede que o usuário atual execute uma seção de código simultaneamente. Uma seção
de código protegida por um bloqueio de usuário pode ser executada simultaneamente por diferentes usuários, mas não por
mais de uma execução para qualquer usuário. O bloqueio é "private" para o usuário. O
bloqueio não é realmente adquirido até que Lock.tryLock(timeoutInMillis)
ou Lock.waitLock(timeoutInMillis)
seja
chamado.
Retornar
Lock
: um bloqueio com escopo para o script e o usuário atual