از دسترسی همزمان به بخشهایی از کد جلوگیری میکند. این میتواند زمانی مفید باشد که چندین کاربر یا فرآیند در حال تغییر یک منبع مشترک هستند و میخواهید از تصادم جلوگیری کنید.
روشها
| روش | نوع بازگشتی | شرح مختصر |
|---|---|---|
get Document Lock() | Lock |null | قفلی دریافت میکند که مانع از اجرای همزمان بخشی از کد توسط هر کاربر سند فعلی میشود. |
get Script Lock() | Lock | قفلی دریافت میکند که مانع از اجرای همزمان یک بخش از کد توسط هر کاربر میشود. |
get User Lock() | Lock | قفلی دریافت میکند که مانع از اجرای همزمان بخشی از کد توسط کاربر فعلی میشود. |
مستندات دقیق
get Document Lock()
قفلی دریافت میکند که مانع از اجرای همزمان بخشی از کد توسط هر کاربر سند فعلی میشود. یک بخش کد که توسط قفل سند محافظت میشود، میتواند همزمان توسط نمونههای اسکریپتی که در متن اسناد مختلف اجرا میشوند، اجرا شود، اما برای هر سند داده شده، بیش از یک اجرا نمیتواند داشته باشد. توجه داشته باشید که قفل تا زمانی که Lock.tryLock(timeoutInMillis) یا Lock.waitLock(timeoutInMillis) فراخوانی نشوند، در واقع به دست نمیآید. اگر این متد خارج از متن یک سند حاوی (مانند یک اسکریپت مستقل یا برنامه وب) فراخوانی شود، null بازگردانده میشود.
بازگشت
Lock |null — قفلی که به اسکریپت و سند فعلی محدود میشود، یا اگر از یک اسکریپت یا برنامه وب مستقل فراخوانی شود، null
get Script Lock()
قفلی دریافت میکند که مانع از اجرای همزمان بخشی از کد توسط هر کاربری میشود. یک بخش کد که توسط قفل اسکریپت محافظت میشود، صرف نظر از هویت کاربر، نمیتواند همزمان اجرا شود. توجه داشته باشید که قفل تا زمانی که Lock.tryLock(timeoutInMillis) یا Lock.waitLock(timeoutInMillis) فراخوانی نشوند، در واقع ایجاد نمیشود.
بازگشت
Lock - قفلی که به اسکریپت محدود میشود
get User Lock()
قفلی دریافت میکند که مانع از اجرای همزمان بخشی از کد توسط کاربر فعلی میشود. یک بخش کد که توسط قفل کاربر محافظت میشود، میتواند همزمان توسط کاربران مختلف اجرا شود، اما برای هر کاربر معین، بیش از یک بار اجرا نمیشود. قفل برای کاربر "خصوصی" است. توجه داشته باشید که قفل تا زمانی که Lock.tryLock(timeoutInMillis) یا Lock.waitLock(timeoutInMillis) فراخوانی نشوند، در واقع به دست نمیآید.
بازگشت
Lock - قفلی که به اسکریپت و کاربر فعلی محدود میشود