Idioma

Semaphore.AcquireUninterruptibly Método

Definição

Sobrecargas

Nome Description
AcquireUninterruptibly()

Adquire uma licença desse semáforo, bloqueando até que uma esteja disponível.

AcquireUninterruptibly(Int32)

Adquire o número determinado de licenças desse semáforo, bloqueando até que todas estejam disponíveis.

AcquireUninterruptibly()

Adquire uma licença desse semáforo, bloqueando até que uma esteja disponível.

[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

Comentários

Adquire uma licença desse semáforo, bloqueando até que uma esteja disponível.

Adquire uma licença, se houver uma disponível e retorna imediatamente, reduzindo o número de permissões disponíveis em uma.

Se nenhuma permissão estiver disponível, o thread atual ficará desabilitado para fins de agendamento de thread e ficará inativo até que algum outro thread invoque o #release método para esse semáforo e o thread atual seja atribuído a uma permissão.

Se o thread atual for Thread#interrupt interrompido enquanto aguarda uma permissão, ele continuará aguardando, mas o momento em que o thread recebe uma permissão pode mudar em comparação com o momento em que ele teria recebido a permissão se não tivesse ocorrido nenhuma interrupção. Quando o thread retornar desse método, seu status de interrupção será definido.

Java documentação para java.util.concurrent.Semaphore.acquireUninterruptibly().

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

AcquireUninterruptibly(Int32)

Adquire o número determinado de licenças desse semáforo, bloqueando até que todas estejam disponíveis.

[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

o número de permissões para adquirir

Atributos

Exceções

se permits for negativo

Comentários

Adquire o número determinado de licenças desse semáforo, bloqueando até que todas estejam disponíveis.

Adquire o número determinado de licenças, se elas estiverem disponíveis, e retorna imediatamente, reduzindo o número de permissões disponíveis pelo valor determinado. Esse método tem o mesmo efeito que o loop for (int i = 0; i < permits; ++i) acquireUninterruptibly(); , exceto que ele adquire atomicamente as permissões de uma só vez:

Se as permissões insuficientes estiverem disponíveis, o thread atual ficará desabilitado para fins de agendamento de thread e ficará inativo até que algum outro thread invoque um dos #release() release métodos para esse semáforo e o thread atual esteja próximo a ter permissões atribuídas e o número de permissões disponíveis atenda a essa solicitação.

Se o thread atual for Thread#interrupt interrompido enquanto aguarda as permissões, ele continuará aguardando e sua posição na fila não será afetada. Quando o thread retornar desse método, seu status de interrupção será definido.

Java documentação para java.util.concurrent.Semaphore.acquireUninterruptibly(int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a