Oggetto oggetto incorporato

Blocco oggetto

Oggetto di blocco della fibra

A differenza dei blocchi del sistema operativo, i blocchi in fibra sono implementati in modo puramente logico e il carico di blocco e sblocco è piccolo

1 2 3 4
var l = new coroutine.Lock(); l.acquire(); ..... l.release();

Eredità

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<this>Lock|new Lock()|acquire();release();count()] [<class>Condition] [<class>Event] [<class>Semaphore] [object] <:- [Lock] [Lock] <:- [Condition] [Lock] <:- [Event] [Lock] <:- [Semaphore] Lock new Lock() acquire() release() count() object toString() toJSON() Condition Event Semaphore

Costruttore

Lock

Costruttore

1
new Lock();

Funzione membro

acquire

Acquisire la proprietà della serratura

1
Boolean Lock.acquire(Boolean blocking = true);

Parametri di chiamata:

  • blocking: booleano, specifica se aspettare, se è vero, aspetta, il valore predefinito è vero

Risultato di ritorno:

  • Boolean, Restituisce se il blocco è stato acquisito con successo, true significa che l'acquisizione è andata a buon fine

Il metodo di acquisizione viene utilizzato per acquisire la proprietà del blocco. Quando il blocco è in uno stato acquisibile, questo metodo restituisce immediatamente true.

Quando il blocco non è disponibile e il blocco è vero, la fibra corrente va in sospensione.Quando altre fibre rilasciano il blocco, questo metodo restituisce vero.

Quando il blocco non è disponibile e il blocco è falso, il metodo restituisce false.


release

Rilascia proprietà blocco

1
Lock.release();

Questo metodo rilascerà la proprietà del blocco. Se la fibra corrente non possiede il blocco, questo metodo genererà un errore.


count

Interroga il numero di attività attualmente in attesa

1
Integer Lock.count();

Risultato di ritorno:

  • Integer, Restituisce il numero di attività

toString

Restituisce la rappresentazione in stringa dell'oggetto, generalmente restituisce "[Native Object]", l'oggetto può essere re-implementato secondo le proprie caratteristiche

1
String Lock.toString();

Risultato di ritorno:

  • String, Restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce la rappresentazione in formato JSON dell'oggetto, generalmente restituisce una raccolta di attributi leggibili definiti dall'oggetto

1
Value Lock.toJSON(String key = "");

Parametri di chiamata:

  • key: Stringa, inutilizzata

Risultato di ritorno:

  • Value, Restituisce un valore contenente JSON serializzabile