Class LockService

บริการล็อก

ป้องกันการเข้าถึงส่วนของโค้ดพร้อมกัน ซึ่งอาจเป็นประโยชน์เมื่อคุณมีผู้ใช้หรือกระบวนการหลายรายการที่แก้ไขทรัพยากรที่แชร์และต้องการป้องกันการชนกัน

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
getDocumentLock()Lock|nullรับการล็อกที่ป้องกันไม่ให้ผู้ใช้เอกสารปัจจุบันเรียกใช้ส่วนของโค้ดพร้อมกัน
getScriptLock()Lockรับการล็อกที่ป้องกันไม่ให้ผู้ใช้เรียกใช้ส่วนของโค้ดพร้อมกัน
getUserLock()Lockรับการล็อกที่ป้องกันไม่ให้ผู้ใช้ปัจจุบันเรียกใช้ส่วนของโค้ดพร้อมกัน

เอกสารโดยละเอียด

getDocumentLock()

รับการล็อกที่ป้องกันไม่ให้ผู้ใช้เอกสารปัจจุบันเรียกใช้ส่วนของโค้ดพร้อมกัน ส่วนโค้ดที่ได้รับการป้องกันโดยการล็อกเอกสารจะเรียกใช้พร้อมกันได้โดยอินสแตนซ์ของสคริปต์ ที่ทำงานในบริบทของเอกสารต่างๆ แต่จะเรียกใช้ได้ไม่เกิน 1 ครั้งสำหรับเอกสารใดก็ตาม โปรดทราบว่าระบบจะยังไม่ได้รับล็อกจริงจนกว่าจะมีการเรียกใช้ Lock.tryLock(timeoutInMillis) หรือ Lock.waitLock(timeoutInMillis) หากเรียกใช้วิธีนี้ภายนอกบริบทของเอกสารที่มีอยู่ (เช่น จากสคริปต์แบบสแตนด์อโลนหรือเว็บแอป) ระบบจะแสดงผล null

รีเทิร์น

Lock|null — ล็อกที่กำหนดขอบเขตไว้ที่สคริปต์และเอกสารปัจจุบัน หรือ null หากเรียกใช้จากสคริปต์แบบสแตนด์อโลนหรือเว็บแอป


getScriptLock()

รับการล็อกที่ป้องกันไม่ให้ผู้ใช้เรียกใช้ส่วนของโค้ดพร้อมกัน ส่วนโค้ดที่ป้องกันด้วยการล็อกสคริปต์จะเรียกใช้พร้อมกันไม่ได้ ไม่ว่าผู้ใช้จะเป็นใครก็ตาม โปรดทราบว่าระบบจะยังไม่ได้รับล็อกจริงจนกว่าจะมีการเรียกใช้ Lock.tryLock(timeoutInMillis) หรือ Lock.waitLock(timeoutInMillis)

รีเทิร์น

Lock - ล็อกที่กำหนดขอบเขตไว้ที่สคริปต์


getUserLock()

รับการล็อกที่ป้องกันไม่ให้ผู้ใช้ปัจจุบันเรียกใช้ส่วนของโค้ดพร้อมกัน ผู้ใช้ที่แตกต่างกันสามารถเรียกใช้ส่วนโค้ด ที่ได้รับการป้องกันด้วยการล็อกของผู้ใช้พร้อมกันได้ แต่ผู้ใช้รายใดรายหนึ่งจะเรียกใช้ได้ไม่เกิน 1 ครั้ง การล็อกเป็นแบบ "ส่วนตัว" สำหรับผู้ใช้ โปรดทราบว่าระบบจะไม่ได้รับ ล็อกจริงจนกว่าจะมีการเรียกใช้ Lock.tryLock(timeoutInMillis) หรือ Lock.waitLock(timeoutInMillis)

รีเทิร์น

Lock — ล็อกที่กำหนดขอบเขตไว้ที่สคริปต์และผู้ใช้ปัจจุบัน