با مجموعهها، منظم بمانید ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
سرویس قفل
از دسترسی همزمان به بخش های کد جلوگیری می کند. این می تواند زمانی مفید باشد که چندین کاربر یا فرآیندهایی دارید که یک منبع مشترک را تغییر می دهند و می خواهید از برخورد جلوگیری کنید.
قفلی دریافت می کند که از اجرای همزمان بخشی از کد توسط کاربر فعلی جلوگیری می کند.
مستندات دقیق
get Document Lock()
قفلی دریافت می کند که از اجرای همزمان بخشی از کد توسط هر کاربر سند فعلی جلوگیری می کند. یک بخش کد که توسط یک قفل سند محافظت می شود، می تواند به طور همزمان توسط نمونه های اسکریپت در حال اجرا در زمینه اسناد مختلف اجرا شود، اما حداکثر با یک اجرا برای هر سند معین. توجه داشته باشید که تا زمانی که Lock.tryLock(timeoutInMillis) یا Lock.waitLock(timeoutInMillis) فراخوانی نشود، قفل در واقع به دست نمی آید. اگر این روش خارج از زمینه یک سند حاوی (مانند یک اسکریپت مستقل یا برنامه وب) فراخوانی شود، null برگردانده می شود.
بازگشت
Lock - قفلی که در محدوده اسکریپت و سند فعلی قرار دارد، یا اگر از یک اسکریپت مستقل یا برنامه وب فراخوانی شود، null .
get Script Lock()
قفلی دریافت می کند که از اجرای همزمان بخشی از کد توسط هر کاربری جلوگیری می کند. بخش کد محافظت شده توسط قفل اسکریپت بدون در نظر گرفتن هویت کاربر نمی تواند به طور همزمان اجرا شود. توجه داشته باشید که تا زمانی که Lock.tryLock(timeoutInMillis) یا Lock.waitLock(timeoutInMillis) فراخوانی نشود، قفل در واقع به دست نمی آید.
قفلی دریافت می کند که از اجرای همزمان بخشی از کد توسط کاربر فعلی جلوگیری می کند. یک بخش کد که توسط یک قفل کاربر محافظت می شود، می تواند به طور همزمان توسط کاربران مختلف اجرا شود، اما برای هر کاربر معینی بیش از یک اجرا نمی شود. قفل برای کاربر "خصوصی" است. توجه داشته باشید که تا زمانی که Lock.tryLock(timeoutInMillis) یا Lock.waitLock(timeoutInMillis) فراخوانی نشود، قفل در واقع به دست نمی آید.
بازگشت
Lock - قفلی که در محدوده اسکریپت و کاربر فعلی قرار دارد
تاریخ آخرین بهروزرسانی 2025-07-24 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-24 بهوقت ساعت هماهنگ جهانی."],[[["\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"]]