Lock Service
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Sperren
Mit diesem Dienst können Scripts den gleichzeitigen Zugriff auf Codeabschnitte verhindern. Dies kann nützlich sein, wenn mehrere Nutzer oder Prozesse eine freigegebene Ressource ändern und Kollisionen verhindern möchten.
Classes
Name | Kurzbeschreibung |
Lock | Darstellung einer Sperre mit gegenseitiger Ausschließung. |
LockService | Verhindert den gleichzeitigen Zugriff auf Codeabschnitte. |
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
hasLock() | Boolean | Gibt „true“ zurück, wenn die Sperre erworben wurde. |
releaseLock() | void | Die Sperre wird aufgehoben, sodass andere Prozesse, die auf die Sperre gewartet haben, fortgesetzt werden können. |
tryLock(timeoutInMillis) | Boolean | Es wird versucht, die Sperre zu erwerben. Nach der angegebenen Anzahl von Millisekunden tritt ein Zeitüberschreitungsfehler auf. |
waitLock(timeoutInMillis) | void | Es wird versucht, die Sperre zu erwerben. Nach der angegebenen Anzahl von Millisekunden tritt eine Zeitüberschreitung mit einer Ausnahme auf. |
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
getDocumentLock() | Lock | Erwirbt eine Sperre, die verhindert, dass andere Nutzer des aktuellen Dokuments einen Codeabschnitt gleichzeitig ausführen. |
getScriptLock() | Lock | Erwirbt eine Sperre, die verhindert, dass ein Nutzer einen Codeabschnitt gleichzeitig ausführt. |
getUserLock() | Lock | Erwirbt eine Sperre, die verhindert, dass der aktuelle Nutzer einen Codeabschnitt gleichzeitig ausführt. |
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-26 (UTC).
[null,null,["Zuletzt aktualisiert: 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. |"]]