Class LockService
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
LockService
Kod bölümlerine eşzamanlı erişimi engeller. Bu, paylaşılan bir kaynağı değiştiren birden fazla kullanıcınız veya işleminiz olduğunda ve çakışmaları önlemek istediğinizde yararlı olabilir.
Yöntemler
Yöntem | Dönüş türü | Kısa açıklama |
getDocumentLock() | Lock | Mevcut dokümanın herhangi bir kullanıcısının bir kod bölümünü eşzamanlı olarak çalıştırmasını engelleyen bir kilit alır. |
getScriptLock() | Lock | Kullanıcıların bir kod bölümünü eşzamanlı olarak çalıştırmasını engelleyen bir kilit alır. |
getUserLock() | Lock | Mevcut kullanıcının bir kod bölümünü eşzamanlı olarak çalıştırmasını engelleyen bir kilit alır. |
Ayrıntılı dokümanlar
getDocumentLock()
Mevcut dokümanın herhangi bir kullanıcısının bir kod bölümünü eşzamanlı olarak çalıştırmasını engelleyen bir kilit alır. Doküman kilidi tarafından korunan bir kod bölümü, farklı dokümanlar bağlamında çalışan komut dosyası örnekleri tarafından eşzamanlı olarak yürütülebilir ancak belirli bir doküman için en fazla bir kez yürütülebilir. Lock.tryLock(timeoutInMillis)
veya Lock.waitLock(timeoutInMillis)
çağrılana kadar kilidin gerçekten edinilmediğini unutmayın. Bu yöntem, içeren dokümanın bağlamı dışında çağrılırsa (ör. bağımsız bir komut dosyasından veya web uygulamasından) null
döndürülür.
Return
Lock
: Komut dosyası ve geçerli doküman kapsamlı bir kilit veya bağımsız bir komut dosyasından ya da web uygulamasından çağrılırsa null
getScriptLock()
Kullanıcıların bir kod bölümünü eşzamanlı olarak çalıştırmasını engelleyen bir kilit alır. Komut dosyası kilidiyle korunan bir kod bölümü, kullanıcının kimliğinden bağımsız olarak aynı anda yürütülemez. Lock.tryLock(timeoutInMillis)
veya Lock.waitLock(timeoutInMillis)
çağrılana kadar kilidin gerçekten edinilmediğini unutmayın.
Return
Lock
: Komut dosyasına özel bir kilit
getUserLock()
Mevcut kullanıcının bir kod bölümünü eşzamanlı olarak çalıştırmasını engelleyen bir kilit alır. Kullanıcı kilidiyle korunan bir kod bölümü, farklı kullanıcılar tarafından aynı anda yürütülebilir ancak herhangi bir kullanıcı tarafından birden fazla kez yürütülemez. Kilit, kullanıcı için "gizli"dir. Lock.tryLock(timeoutInMillis)
veya Lock.waitLock(timeoutInMillis)
çağrılana kadar kilidin aslında edinilmediğini unutmayın.
Return
Lock
: Komut dosyası ve mevcut kullanıcı kapsamına sahip bir kilit
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[null,null,["Son güncelleme tarihi: 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,["# Class LockService\n\nLockService\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\n### Methods\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\n### `get``Document``Lock()`\n\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\n#### Return\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()`\n\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\n#### Return\n\n\n[Lock](/apps-script/reference/lock/lock) --- a lock scoped to the script\n\n*** ** * ** ***\n\n### `get``User``Lock()`\n\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\n#### Return\n\n\n[Lock](/apps-script/reference/lock/lock) --- a lock scoped to the script and current user"]]