Objecte objecte incorporat

Bloqueig d'objectes

Objecte de bloqueig de fibra

A diferència dels bloquejos del sistema operatiu, els bloquejos de fibra s’implementen de forma lògica i la càrrega de bloqueig i desbloqueig és petita

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

Herència

#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

Constructor

Lock

Constructor

1
new Lock();

Funció de membre

acquire

Adquiriu la propietat del pany

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

Paràmetres de trucada:

  • blocking: Booleà, especifiqueu si cal esperar; si és cert, espereu, el valor per defecte és cert

Resultat de retorn:

  • Boolean, Torna si el bloqueig s'ha adquirit correctament, és cert que l'adquisició s'ha realitzat correctament

El mètode d’adquisició s’utilitza per adquirir la propietat del pany. Quan el pany es troba en un estat que es pot adquirir, aquest mètode torna cert immediatament.

Quan el bloqueig no està disponible i el bloqueig és cert, la fibra actual es queda en repòs. Quan altres fibres alliberen el bloqueig, aquest mètode torna a ser cert.

Quan el bloqueig no està disponible i el bloqueig és fals, el mètode torna fals.


release

Allibera la propietat del bloqueig

1
Lock.release();

Aquest mètode alliberarà la propietat del pany. Si la fibra actual no és propietària del pany, aquest mètode generarà un error.


count

Consulteu el nombre de tasques en espera actuals

1
Integer Lock.count();

Resultat de retorn:

  • Integer, Retorna el nombre de tasques

toString

Retorna la representació de cadena de l'objecte, generalment retorna "[Objecte natiu]", l'objecte es pot tornar a implementar segons les seves pròpies característiques

1
String Lock.toString();

Resultat de retorn:

  • String, Retorna la representació de cadena de l'objecte

toJSON

Retorna la representació en format JSON de l'objecte, generalment retorna una col·lecció d'atributs llegibles definits per l'objecte

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

Paràmetres de trucada:

  • key: Cadena, sense utilitzar

Resultat de retorn:

  • Value, Retorna un valor que conté JSON serialitzable