Impedisce l'accesso simultaneo a sezioni di codice. Questo può essere utile quando più utenti o processi modificano una risorsa condivisa e vuoi evitare collisioni.
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
getDocumentLock() | Lock | Ottieni un blocco che impedisce a qualsiasi utente del documento corrente di eseguire contemporaneamente una sezione di codice. |
getScriptLock() | Lock | Ottieni un blocco che impedisce a qualsiasi utente di eseguire contemporaneamente una sezione di codice. |
getUserLock() | Lock | Ottieni un blocco che impedisce all'utente corrente di eseguire contemporaneamente una sezione di codice. |
Documentazione dettagliata
getDocumentLock()
Ottieni un blocco che impedisce a qualsiasi utente del documento corrente di eseguire contemporaneamente una sezione di codice. Una sezione di codice protetta da un blocco dei documenti può essere eseguita contemporaneamente da istanze di script in esecuzione nel contesto di documenti diversi, ma non più di un'esecuzione per un determinato documento. Tieni presente che il blocco non viene effettivamente acquisito finché non viene chiamato Lock.tryLock(timeoutInMillis)
o Lock.waitLock(timeoutInMillis)
. Se questo metodo viene chiamato al di fuori del contesto di un documento contenente (ad esempio da uno script autonomo o da un'app web), viene restituito null
.
Ritorni
Lock
: un blocco limitato all'ambito dello script e del documento corrente oppure null
se richiamato da uno script autonomo o da un'app web
getScriptLock()
Ottieni un blocco che impedisce a qualsiasi utente di eseguire contemporaneamente una sezione di codice. Una sezione di codice protetta da un blocco di script non può essere eseguita contemporaneamente indipendentemente dall'identità dell'utente. Tieni presente che il blocco non viene effettivamente acquisito finché non viene chiamato Lock.tryLock(timeoutInMillis)
o Lock.waitLock(timeoutInMillis)
.
Ritorni
Lock
: un blocco limitato all'ambito dello script
getUserLock()
Ottieni un blocco che impedisce all'utente corrente di eseguire contemporaneamente una sezione di codice. Una sezione di codice protetta da un blocco utente può essere eseguita contemporaneamente da utenti diversi, ma da non più di un'esecuzione per un determinato utente. Il blocco è "privato" per l'utente. Tieni presente che il blocco non viene effettivamente acquisito finché non viene chiamato Lock.tryLock(timeoutInMillis)
o Lock.waitLock(timeoutInMillis)
.
Ritorni
Lock
: un blocco che ha come ambito lo script e l'utente corrente