Semaphore.Acquire Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Acquire() |
Acquisisce un permesso da questo semaforo, bloccando fino a quando non ne è disponibile uno o il thread è Thread#interrupt interrotto. |
| Acquire(Int32) |
Acquisisce il numero specificato di permessi da questo semaforo, bloccando fino a quando non sono disponibili tutti o il thread è Thread#interrupt interrotto. |
Acquire()
Acquisisce un permesso da questo semaforo, bloccando fino a quando non ne è disponibile uno o il thread è Thread#interrupt interrotto.
[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
- Attributi
Eccezioni
se il thread corrente viene interrotto
Commenti
Acquisisce un permesso da questo semaforo, bloccando fino a quando non ne è disponibile uno o il thread è Thread#interrupt interrotto.
Acquisisce un permesso, se disponibile e restituisce immediatamente, riducendo il numero di permessi disponibili di uno.
Se non è disponibile alcun permesso, il thread corrente viene disabilitato per scopi di pianificazione dei thread e rimane inattivo fino a quando non si verifica una delle due cose: <ul><li>Altri thread richiamano il #release metodo per questo semaforo e il thread corrente è accanto a un permesso; oppure <altri>thread Thread#interrupt interrompe il thread corrente.
</ul>
Se il thread corrente: <ul><li>ha lo stato interrotto impostato sulla voce di questo metodo oppure <li>è Thread#interrupt interrotto durante l'attesa di un permesso, <viene generato /ul> e InterruptedException lo stato interrotto del thread corrente viene cancellato.
per java.util.concurrent.Semaphore.acquire().
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Acquire(Int32)
Acquisisce il numero specificato di permessi da questo semaforo, bloccando fino a quando non sono disponibili tutti o il thread è Thread#interrupt interrotto.
[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
Parametri
- permits
- Int32
numero di permessi per l'acquisizione
- Attributi
Eccezioni
se il thread corrente viene interrotto
se permits è negativo
Commenti
Acquisisce il numero specificato di permessi da questo semaforo, bloccando fino a quando non sono disponibili tutti o il thread è Thread#interrupt interrotto.
Acquisisce il numero specificato di permessi, se disponibili, e restituisce immediatamente, riducendo il numero di permessi disponibili in base all'importo specificato. Questo metodo ha lo stesso effetto del ciclo for (int i = 0; i < permits; ++i) acquire(); , ad eccezione del fatto che acquisisce in modo atomico tutti i permessi contemporaneamente:
Se sono disponibili autorizzazioni insufficienti, il thread corrente diventa disabilitato per scopi di pianificazione dei thread e rimane inattivo fino a quando non si verifica una di due cose: <ul><li>Altri thread richiama uno dei #release() release metodi per questo semaforo e il thread corrente è accanto a essere assegnato e il numero di autorizzazioni disponibili soddisfa questa richiesta; o <li>Alcuni altri thread Thread#interrupt interrompe il thread corrente.
</ul>
Se il thread corrente: <ul><li>ha lo stato interrotto impostato sulla voce di questo metodo oppure <li>è Thread#interrupt interrotto durante l'attesa di un permesso, <viene generato /ul> e InterruptedException lo stato interrotto del thread corrente viene cancellato. Tutti i permessi da assegnare a questo thread vengono invece assegnati ad altri thread che tentano di acquisire i permessi, come se i permessi fossero stati resi disponibili da una chiamata a #release().
per java.util.concurrent.Semaphore.acquire(int).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.