Langage

Semaphore.Acquire Méthode

Définition

Surcharges

Nom Description
Acquire()

Acquiert un permis à partir de ce sémaphore, bloquant jusqu’à ce qu’un thread soit disponible ou que le thread soit interrompu par thread#interruption.

Acquire(Int32)

Acquiert le nombre donné de permis à partir de ce sémaphore, bloquant jusqu’à ce que tous soient disponibles ou que le thread soit interrompu par thread#interruption.

Acquire()

Acquiert un permis à partir de ce sémaphore, bloquant jusqu’à ce qu’un thread soit disponible ou que le thread soit interrompu par thread#interruption.

[Android.Runtime.Register("acquire", "()V", "GetAcquireHandler")]
public virtual void Acquire();
[<Android.Runtime.Register("acquire", "()V", "GetAcquireHandler")>]
abstract member Acquire : unit -> unit
override this.Acquire : unit -> unit
Attributs

Exceptions

si le thread actuel est interrompu

Remarques

Acquiert un permis à partir de ce sémaphore, bloquant jusqu’à ce qu’un thread soit disponible ou que le thread soit interrompu par thread#interruption.

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 l’une des deux choses se produise : <ul<>li>Un autre thread appelle la #release méthode pour ce sémaphore et le thread actuel est à côté d’être affecté à un permis ; ou <li>Un autre thread Thread#interruption interrompt le thread actuel. </ul>

Si le thread actuel : <ul><li>a son état interrompu défini sur l’entrée de cette méthode ; ou <li>est l’interruption thread#interruption lors de l’attente d’un permis, </ul> est InterruptedException levée et l’état interrompu du thread actuel est effacé.

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

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 à

Acquire(Int32)

Acquiert le nombre donné de permis à partir de ce sémaphore, bloquant jusqu’à ce que tous soient disponibles ou que le thread soit interrompu par thread#interruption.

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

Paramètres

permits
Int32

le nombre de permis d’acquérir

Attributs

Exceptions

si le thread actuel est interrompu

s’il permits est négatif

Remarques

Acquiert le nombre donné de permis à partir de ce sémaphore, bloquant jusqu’à ce que tous soient disponibles ou que le thread soit interrompu par thread#interruption.

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) acquire(); , 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 l’une des deux choses se produise : <ul><li>Un autre thread appelle l’une #release() release des méthodes pour ce sémaphore et le thread actuel est à côté d’être affecté permis et le nombre d’autorisations disponibles satisfait à cette demande ; ou <li>Un autre thread Thread#interruption le thread actuel. </ul>

Si le thread actuel : <ul><li>a son état interrompu défini sur l’entrée de cette méthode ; ou <li>est l’interruption thread#interruption lors de l’attente d’un permis, </ul> est InterruptedException levée et l’état interrompu du thread actuel est effacé. Les autorisations qui devaient être affectées à ce thread sont plutôt affectées à d’autres threads qui tentent d’acquérir des permis, comme si des permis avaient été mis à disposition par un appel à #release().

Java documentation pour java.util.concurrent.Semaphore.acquire(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 à