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
4var l = new coroutine.Lock();
l.acquire();
.....
l.release();
Herència
Constructor
Lock
Constructor
1new Lock();
Funció de membre
acquire
Adquiriu la propietat del pany
1Boolean 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
1Lock.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
1Integer 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
1String 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
1Value Lock.toJSON(String key = "");
Paràmetres de trucada:
- key: Cadena, sense utilitzar
Resultat de retorn:
- Value, Retorna un valor que conté JSON serialitzable