Langue

Semaphore.AcquireUninterruptibly Méthode

Définition

Surcharges

Nom Description
AcquireUninterruptibly()

Acquiert un permis de ce sémaphore, bloquant jusqu’à ce qu’il soit disponible.

AcquireUninterruptibly(Int32)

Acquiert le nombre donné de permis de ce sémaphore, bloquant jusqu’à ce que tous soient disponibles.

AcquireUninterruptibly()

Acquiert un permis de ce sémaphore, bloquant jusqu’à ce qu’il soit 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
Attributs

Remarques

Acquiert un permis de ce sémaphore, bloquant jusqu’à ce qu’il soit disponible.

Acquiert un permis, si l’un est disponible et retourne immédiatement, réduisant le nombre de permis disponibles par un.

Si aucun permis n’est disponible, le thread actuel devient désactivé à des fins de planification de threads et se trouve dormant jusqu’à ce que certains autres threads appellent la #release méthode pour ce sémaphore et que le thread actuel est à côté d’être affecté à un permis.

Si le thread actuel est l’interruption thread#interruption en attendant un permis, il continuera d’attendre, mais le moment auquel le thread reçoit un permis peut changer par rapport au moment où il aurait reçu l’autorisation sans interruption. Lorsque le thread retourne de cette méthode, son état d’interruption est défini.

Java documentation pour java.util.concurrent.Semaphore.acquireUninterruptibly().

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à

AcquireUninterruptibly(Int32)

Acquiert le nombre donné de permis de ce sémaphore, bloquant jusqu’à ce que tous soient 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

Paramètres

permits
Int32

le nombre de permis d’acquérir

Attributs

Exceptions

s’il permits est négatif

Remarques

Acquiert le nombre donné de permis de ce sémaphore, bloquant jusqu’à ce que tous soient disponibles.

Acquiert le nombre donné de permis, s’ils sont disponibles et retourne immédiatement, réduisant le nombre de permis disponibles par le montant donné. Cette méthode a le même effet que la boucle for (int i = 0; i < permits; ++i) acquireUninterruptibly(); , sauf qu’elle acquiert atomiquement les permis à la fois :

Si des autorisations insuffisantes sont disponibles, le thread actuel devient désactivé à des fins de planification de threads et se trouve dormant jusqu’à ce que d’autres threads appellent l’une des #release() release méthodes pour ce sémaphore et que le thread actuel est en regard d’être affecté des permis et le nombre d’autorisations disponibles satisfait à cette demande.

Si le thread actuel est interrompu par thread#interruption en attendant les autorisations, il continue d’attendre et sa position dans la file d’attente n’est pas affectée. Lorsque le thread retourne de cette méthode, son état d’interruption est défini.

Java documentation pour java.util.concurrent.Semaphore.acquireUninterruptibly(int).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à