Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.
LockService
Empêche l'accès simultané à des sections de code. Cela peut être utile lorsque plusieurs utilisateurs ou processus modifient une ressource partagée et que vous souhaitez éviter les collisions.
Récupère un verrouillage qui empêche l'utilisateur actuel d'exécuter simultanément une section de code.
Documentation détaillée
getDocumentLock()
Récupère un verrouillage qui empêche tout utilisateur du document actuel d'exécuter simultanément une section de code. Une section de code protégée par un verrouillage de document peut être exécutée simultanément par des instances de script exécutées dans le contexte de différents documents, mais pas plus d'une exécution pour un document donné. Notez que le verrouillage n'est pas réellement acquis tant que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) n'est pas appelé. Si cette méthode est appelée en dehors du contexte d'un document contenant (par exemple, à partir d'un script autonome ou d'une application Web), null est renvoyé.
Renvois
Lock : verrouillage limité au script et au document actuel, ou null si appelé à partir d'un script autonome ou d'une application Web
getScriptLock()
Récupère un verrouillage qui empêche tout utilisateur d'exécuter simultanément une section de code. Une section de code protégée par un verrouillage de script ne peut pas être exécutée simultanément, quelle que soit l'identité de l'utilisateur. Notez que le verrouillage n'est pas réellement acquis tant que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) n'est pas appelé.
Récupère un verrouillage qui empêche l'utilisateur actuel d'exécuter simultanément une section de code. Une section de code protégée par un verrouillage utilisateur peut être exécutée simultanément par différents utilisateurs, mais pas plus d'une fois par utilisateur donné. Le verrouillage est "privé" pour l'utilisateur. Notez que le verrouillage n'est pas réellement acquis tant que Lock.tryLock(timeoutInMillis) ou Lock.waitLock(timeoutInMillis) n'est pas appelé.
Renvois
Lock : verrouillage limité au script et à l'utilisateur actuel
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/26 (UTC)."],[[["\u003cp\u003e\u003ccode\u003eLockService\u003c/code\u003e prevents concurrent access to shared resources in Apps Script, avoiding collisions when multiple users or processes modify them.\u003c/p\u003e\n"],["\u003cp\u003eIt offers three types of locks: \u003ccode\u003egetDocumentLock()\u003c/code\u003e, \u003ccode\u003egetScriptLock()\u003c/code\u003e, and \u003ccode\u003egetUserLock()\u003c/code\u003e, each with different scopes of access restriction.\u003c/p\u003e\n"],["\u003cp\u003eThese locks are acquired using \u003ccode\u003eLock.tryLock(timeoutInMillis)\u003c/code\u003e or \u003ccode\u003eLock.waitLock(timeoutInMillis)\u003c/code\u003e methods for controlled access to critical code sections.\u003c/p\u003e\n"],["\u003cp\u003eEach lock type returns a \u003ccode\u003eLock\u003c/code\u003e object that provides methods to manage the lock, ensuring data integrity and consistency in shared environments.\u003c/p\u003e\n"]]],[],null,["LockService\n\nPrevents concurrent access to sections of code. This can be useful when you have multiple users\nor processes modifying a shared resource and want to prevent collisions. \n\nMethods\n\n| Method | Return type | Brief description |\n|-----------------------------------------|------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [getDocumentLock()](#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()](#getScriptLock()) | [Lock](/apps-script/reference/lock/lock) | Gets a lock that prevents any user from concurrently running a section of code. |\n| [getUserLock()](#getUserLock()) | [Lock](/apps-script/reference/lock/lock) | Gets a lock that prevents the current user from concurrently running a section of code. |\n\nDetailed documentation \n\n`get``Document``Lock()` \nGets a lock that prevents any user of the current document from concurrently running a section\nof code. A code section guarded by a document lock can be executed simultaneously by script\ninstances running in the context of different documents, but by no more than one execution for\nany given document. Note that the lock is not actually acquired until [Lock.tryLock(timeoutInMillis)](/apps-script/reference/lock/lock#tryLock(Integer))\nor [Lock.waitLock(timeoutInMillis)](/apps-script/reference/lock/lock#waitLock(Integer)) is called. If this method is called outside of the context of a\ncontaining document (such as from a standalone script or webapp), `null` is returned.\n\nReturn\n\n\n[Lock](/apps-script/reference/lock/lock) --- a lock scoped to the script and current document, or `null` if called from a\nstandalone script or webapp\n\n*** ** * ** ***\n\n`get``Script``Lock()` \nGets a lock that prevents any user from concurrently running a section of code. A code section\nguarded by a script lock cannot be executed simultaneously regardless of the identity of the\nuser. Note that the lock is not actually acquired until [Lock.tryLock(timeoutInMillis)](/apps-script/reference/lock/lock#tryLock(Integer)) or [Lock.waitLock(timeoutInMillis)](/apps-script/reference/lock/lock#waitLock(Integer)) is called.\n\nReturn\n\n\n[Lock](/apps-script/reference/lock/lock) --- a lock scoped to the script\n\n*** ** * ** ***\n\n`get``User``Lock()` \nGets a lock that prevents the current user from concurrently running a section of code. A code\nsection guarded by a user lock can be executed simultaneously by different users, but by no\nmore than one execution for any given user. The lock is \"private\" to the user. Note that the\nlock is not actually acquired until [Lock.tryLock(timeoutInMillis)](/apps-script/reference/lock/lock#tryLock(Integer)) or [Lock.waitLock(timeoutInMillis)](/apps-script/reference/lock/lock#waitLock(Integer)) is\ncalled.\n\nReturn\n\n\n[Lock](/apps-script/reference/lock/lock) --- a lock scoped to the script and current user"]]