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 — ล็อกที่กำหนดขอบเขตเป็นสคริปต์และผู้ใช้ปัจจุบัน