Semaphore.Acquire Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.