Lock Service
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Bloquear
Esse serviço permite que scripts impeçam o acesso simultâneo a seções do
código. Isso pode ser útil quando você tem vários usuários ou processos modificando um
recurso compartilhado e quer evitar colisões.
Classes
Nome | Breve descrição |
Lock | Uma representação de um bloqueio de exclusão mútua. |
LockService | Impede o acesso simultâneo a seções de código. |
Métodos
Método | Tipo de retorno | Breve descrição |
hasLock() | Boolean | Retorna verdadeiro se a trava foi adquirida. |
releaseLock() | void | Libera a trava, permitindo que outros processos que aguardam a trava continuem. |
tryLock(timeoutInMillis) | Boolean | Tenta adquirir a trava, com um tempo limite após o número de milissegundos fornecido. |
waitLock(timeoutInMillis) | void | Tenta adquirir a trava, expirando com uma exceção após o número fornecido de
milissegundos. |
Métodos
Método | Tipo de retorno | Breve descrição |
getDocumentLock() | Lock | Recebe uma trava que impede que qualquer usuário do documento atual execute uma seção
de código simultaneamente. |
getScriptLock() | Lock | Recebe uma trava que impede que qualquer usuário execute uma seção de código simultaneamente. |
getUserLock() | Lock | Recebe uma trava que impede que o usuário atual execute uma seção de código simultaneamente. |
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-26 UTC.
[null,null,["Última atualização 2025-07-26 UTC."],[[["\u003cp\u003eThe Lock service in Apps Script helps prevent conflicts when multiple users or processes access shared resources.\u003c/p\u003e\n"],["\u003cp\u003eIt provides different types of locks: Document Lock, Script Lock, and User Lock, each controlling access at various levels.\u003c/p\u003e\n"],["\u003cp\u003eLocks can be acquired, released, and checked for status using methods like \u003ccode\u003etryLock\u003c/code\u003e, \u003ccode\u003ereleaseLock\u003c/code\u003e, and \u003ccode\u003ehasLock\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTimeouts can be set while acquiring locks to avoid indefinite waiting using methods like \u003ccode\u003etryLock\u003c/code\u003e and \u003ccode\u003ewaitLock\u003c/code\u003e.\u003c/p\u003e\n"]]],["The service provides a mechanism to prevent concurrent code access, crucial for shared resource modification. `LockService` offers methods like `getDocumentLock`, `getScriptLock`, and `getUserLock` to acquire different types of locks. The `Lock` class manages the lock itself, with methods like `hasLock` to check if a lock has been obtained, `releaseLock` to release it, and `tryLock` and `waitLock` to acquire a lock with a timeout.\n"],null,["# Lock Service\n\nLock\n\nThis service allows scripts to prevent concurrent access to sections of\ncode. This can be useful when you have multiple users or processes modifying a\nshared resource and want to prevent collisions.\n\nClasses\n-------\n\n| Name | Brief description |\n|---------------------------------------------------------|-------------------------------------------------|\n| [Lock](/apps-script/reference/lock/lock) | A representation of a mutual-exclusion lock. |\n| [LockService](/apps-script/reference/lock/lock-service) | Prevents concurrent access to sections of code. |\n\n[Lock](/apps-script/reference/lock/lock)\n----------------------------------------\n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------|\n| [hasLock()](/apps-script/reference/lock/lock#hasLock()) | `Boolean` | Returns true if the lock was acquired. |\n| [releaseLock()](/apps-script/reference/lock/lock#releaseLock()) | `void` | Releases the lock, allowing other processes waiting on the lock to continue. |\n| [tryLock(timeoutInMillis)](/apps-script/reference/lock/lock#tryLock(Integer)) | `Boolean` | Attempts to acquire the lock, timing out after the provided number of milliseconds. |\n| [waitLock(timeoutInMillis)](/apps-script/reference/lock/lock#waitLock(Integer)) | `void` | Attempts to acquire the lock, timing out with an exception after the provided number of milliseconds. |\n\n[LockService](/apps-script/reference/lock/lock-service)\n-------------------------------------------------------\n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------------------------------------------------------------|------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [getDocumentLock()](/apps-script/reference/lock/lock-service#getDocumentLock()) | [Lock](/apps-script/reference/lock/lock) | Gets a lock that prevents any user of the current document from concurrently running a section of code. |\n| [getScriptLock()](/apps-script/reference/lock/lock-service#getScriptLock()) | [Lock](/apps-script/reference/lock/lock) | Gets a lock that prevents any user from concurrently running a section of code. |\n| [getUserLock()](/apps-script/reference/lock/lock-service#getUserLock()) | [Lock](/apps-script/reference/lock/lock) | Gets a lock that prevents the current user from concurrently running a section of code. |"]]