LockService のドキュメント: https://developers.google.com/apps-script/service_lockには、「getPublicLock() -現在のユーザーの同時実行による コードのセクションへの同時アクセスを防止するロックを取得する」と記載されています。
したがって、クエリはコメントの周りにあります: " section of code "。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();
}
}
1 人のユーザーが test1() にアクセスし、別のユーザーが test2() にアクセスして、スクリプトの 2 つの呼び出しを同時に実行した場合、両方とも成功しますか? または、この投稿で言及されているように: http://googleappsdeveloper.blogspot.co.uk/2011/10/concurrency-and-google-apps-script.htmlロックは単にスクリプト レベルで行われているのでしょうか? したがって、このシナリオでは、test1() または test2() のいずれかのみが成功し、両方は成功しません。
ドキュメントに記載されているとおりであり、両方が成功する場合、「コードのセクション」とは何を意味しますか?? LockService.getPublicLock() が表示されるのは行番号ですか、それとも周囲の関数ですか?