Lock Service
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Замок
Эта служба позволяет сценариям предотвращать одновременный доступ к разделам кода. Это может быть полезно, если несколько пользователей или процессов изменяют общий ресурс и хотят предотвратить коллизии.
Классы
Имя | Краткое описание |
---|
Lock | Представление блокировки взаимного исключения. |
Lock Service | Предотвращает одновременный доступ к разделам кода. |
Методы
Метод | Тип возврата | Краткое описание |
---|
has Lock() | Boolean | Возвращает true, если блокировка была получена. |
release Lock() | void | Снимает блокировку, позволяя продолжить работу другим процессам, ожидающим блокировки. |
try Lock(timeoutInMillis) | Boolean | Пытается получить блокировку, время ожидания истекает через указанное количество миллисекунд. |
wait Lock(timeoutInMillis) | void | Попытка получить блокировку, время ожидания с исключением истекает через указанное количество миллисекунд. |
Методы
Метод | Тип возврата | Краткое описание |
---|
get Document Lock() | Lock | Получает блокировку, которая не позволяет любому пользователю текущего документа одновременно запускать раздел кода. |
get Script Lock() | Lock | Получает блокировку, которая не позволяет любому пользователю одновременно запускать раздел кода. |
get User Lock() | Lock | Получает блокировку, которая не позволяет текущему пользователю одновременно запускать раздел кода. |
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
[null,null,["Последнее обновление: 2025-07-24 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. |"]]