Semaphore.Acquire Metodo

Definizione

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.

Si applica a