Class LockService

LockService

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

เมธอด

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

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

getDocumentLock()

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

รีเทิร์น

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


getScriptLock()

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

รีเทิร์น

Lock — การล็อกที่มีขอบเขตเป็นสคริปต์


getUserLock()

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

รีเทิร์น

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