Obxecto incorporado

Bloqueo de obxectos

Obxecto de bloqueo de fibra

A diferenza dos bloqueos do sistema operativo, os bloqueos de fibra implementanse de xeito lóxico e a carga de bloqueo e desbloqueo é pequena

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

Herdanza

#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

Construtor

Lock

Construtor

1
new Lock();

Función de membro

acquire

Adquirir a propiedade da pechadura

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

Parámetros de chamada:

  • blocking: Booleano, especifica se agardar, se é verdade, agarda, o predeterminado é verdadeiro

Resultado de volta:

  • Boolean, Devolve se o bloqueo se adquiriu correctamente, o que significa que a adquisición é correcta

O método de adquisición úsase para adquirir a propiedade do bloqueo. Cando o bloqueo está nun estado que se pode adquirir, este método devolve a verdade inmediatamente.

Cando o bloqueo non está dispoñible e o bloqueo é verdadeiro, a fibra actual queda en suspensión. Cando outras fibras soltan o bloqueo, este método devólvese verdadeiro.

Cando o bloqueo non está dispoñible e o bloqueo é falso, o método devolve falso.


release

Liberar a propiedade do bloqueo

1
Lock.release();

Este método liberará a propiedade do bloqueo. Se a fibra actual non é propietaria do bloqueo, este método producirá un erro.


count

Consulte o número de tarefas en espera actualmente

1
Integer Lock.count();

Resultado de volta:

  • Integer, Devolve o número de tarefas

toString

Devolve a representación de cadea do obxecto, xeralmente devolve "[Obxecto nativo]", o obxecto pode reimplementarse segundo as súas propias características

1
String Lock.toString();

Resultado de volta:

  • String, Devolve a representación de cadea do obxecto

toJSON

Devolve a representación en formato JSON do obxecto, xeralmente devolve unha colección de atributos lexibles definidos polo obxecto

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

Parámetros de chamada:

  • key: Cadea, sen usar

Resultado de volta:

  • Value, Devolve un valor que contén JSON serializable