在 LockService 文档中:https ://developers.google.com/apps-script/service_lock它声明“getPublicLock() - 获取一个锁,通过当前用户的同时执行来 防止同时访问一段代码”
因此查询围绕注释:“代码段”。如果我有多个使用 LockService.getPublicLock() 的代码部分,它们本质上是独立的锁吗?
例如:
function test1() {
var lock = LockService.getPublicLock();
if (lock.tryLock(10000)) {
// Do some critical stuff
lock.releaseLock();
}
}
function test2() {
var lock = LockService.getPublicLock();
if (lock.tryLock(10000)) {
// Do some critical stuff
lock.releaseLock();
}
}
如果我有两个脚本调用同时执行,一个用户访问 test1(),另一个用户访问 test2(),他们都会成功吗?或者正如它在这篇文章中所暗示的那样:http: //googleappsdeveloper.blogspot.co.uk/2011/10/concurrency-and-google-apps-script.html只是脚本级别的锁吗?因此,对于这种情况,只有 test1() 或 test2() 之一会成功,但不会同时成功。
如果确实如文档所述,并且两者都会成功,那么什么表示“代码段”?是 LockService.getPublicLock() 出现的行号还是周围的函数?