在的LockService文档:https://developers.google.com/apps-script/service_lock它指出“getPublicLock() - 获取一个锁,用于防止对通过同时执行当前用户一个部的代码并发访问”的LockService歧义
所以查询是围绕评论:“部分代码”。如果我有使用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()出现的行号还是周围的函数?
这个答案/场景仍然准确吗?我试图确定一个单独的锁实例是否可以在单独的函数中使用('.getPublicLock()'似乎不再存在,但是'getScriptLock()')。所以'var lock_01 = LockService.getScriptLock();'可以在'function_01()'中使用,'var lock_02 = LockService.getScriptLock();'可以在'function_02()'中使用吗? – user1063287 2017-07-19 04:30:56