Lenguaje

Semaphore.AcquireUninterruptibly Método

Definición

Sobrecargas

Nombre Description
AcquireUninterruptibly()

Adquiere un permiso de este semáforo, bloqueando hasta que uno esté disponible.

AcquireUninterruptibly(Int32)

Adquiere el número determinado de permisos de este semáforo, bloqueando hasta que todos estén disponibles.

AcquireUninterruptibly()

Adquiere un permiso de este semáforo, bloqueando hasta que uno esté disponible.

[Android.Runtime.Register("acquireUninterruptibly", "()V", "GetAcquireUninterruptiblyHandler")]
public virtual void AcquireUninterruptibly();
[<Android.Runtime.Register("acquireUninterruptibly", "()V", "GetAcquireUninterruptiblyHandler")>]
abstract member AcquireUninterruptibly : unit -> unit
override this.AcquireUninterruptibly : unit -> unit
Atributos

Comentarios

Adquiere un permiso de este semáforo, bloqueando hasta que uno esté disponible.

Adquiere un permiso, si uno está disponible y devuelve inmediatamente, lo que reduce el número de permisos disponibles por uno.

Si no hay permiso disponible, el subproceso actual se deshabilita con fines de programación de subprocesos y permanece inactivo hasta que algún otro subproceso invoca el #release método para este semáforo y el subproceso actual está junto a asignar un permiso.

Si el subproceso actual es Thread#interrupt interrumpida mientras espera un permiso, seguirá esperando, pero el momento en el que se asigna un permiso puede cambiar en comparación con el tiempo que habría recibido el permiso si no se hubiera producido ninguna interrupción. Cuando el subproceso devuelve de este método, se establecerá su estado de interrupción.

Java documentación para java.util.concurrent.Semaphore.acquireUninterruptibly().

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a

AcquireUninterruptibly(Int32)

Adquiere el número determinado de permisos de este semáforo, bloqueando hasta que todos estén disponibles.

[Android.Runtime.Register("acquireUninterruptibly", "(I)V", "GetAcquireUninterruptibly_IHandler")]
public virtual void AcquireUninterruptibly(int permits);
[<Android.Runtime.Register("acquireUninterruptibly", "(I)V", "GetAcquireUninterruptibly_IHandler")>]
abstract member AcquireUninterruptibly : int -> unit
override this.AcquireUninterruptibly : int -> unit

Parámetros

permits
Int32

el número de permisos para adquirir

Atributos

Excepciones

si permits es negativo

Comentarios

Adquiere el número determinado de permisos de este semáforo, bloqueando hasta que todos estén disponibles.

Adquiere el número determinado de permisos, si están disponibles, y devuelve inmediatamente, lo que reduce el número de permisos disponibles por la cantidad especificada. Este método tiene el mismo efecto que el bucle for (int i = 0; i < permits; ++i) acquireUninterruptibly(); , salvo que adquiere atómicamente los permisos a la vez:

Si no hay permisos suficientes disponibles, el subproceso actual se deshabilita con fines de programación de subprocesos y permanece inactivo hasta que algún otro subproceso invoca uno de los #release() release métodos para este semáforo y el subproceso actual está junto a permisos asignados y el número de permisos disponibles satisface esta solicitud.

Si el subproceso actual es Thread#interrupt interrumpido mientras espera permisos, seguirá esperando y su posición en la cola no se verá afectada. Cuando el subproceso devuelve de este método, se establecerá su estado de interrupción.

Java documentación para java.util.concurrent.Semaphore.acquireUninterruptibly(int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a