Condividi tramite


ReentrantLock.NewCondition Metodo

Definizione

Restituisce un'istanza Condition per l'utilizzo con questa Lock istanza.

[Android.Runtime.Register("newCondition", "()Ljava/util/concurrent/locks/Condition;", "GetNewConditionHandler")]
public virtual Java.Util.Concurrent.Locks.ICondition? NewCondition ();
[<Android.Runtime.Register("newCondition", "()Ljava/util/concurrent/locks/Condition;", "GetNewConditionHandler")>]
abstract member NewCondition : unit -> Java.Util.Concurrent.Locks.ICondition
override this.NewCondition : unit -> Java.Util.Concurrent.Locks.ICondition

Restituisce

Oggetto Condition

Implementazioni

Attributi

Commenti

Restituisce un'istanza Condition per l'utilizzo con questa Lock istanza.

L'istanza restituita Condition supporta gli stessi utilizzi dei Object metodi di monitoraggio (Object#wait() wait, Object#notify notifye Object#notifyAll notifyAll) quando vengono usati con il blocco di monitoraggio predefinito.

<ul>

<li>Se questo blocco non viene mantenuto quando vengono chiamati i Conditionmetodi Condition#await() waiting o Condition#signalling, viene generata un'eccezione IllegalMonitorStateException .

<li>Quando i metodi di attesa condition Condition#await() vengono chiamati il blocco viene rilasciato e, prima di restituire, il blocco viene riacquisto e il conteggio dei blocchi viene ripristinato a quello che era quando è stato chiamato il metodo.

<li>Se un thread è Thread#interrupt interrotto durante l'attesa, l'attesa verrà terminata, verrà generata un'eccezione InterruptedException e lo stato interrotto del thread verrà cancellato.

<i thread in attesa li>vengono segnalato nell'ordine FIFO.

<li>L'ordinamento della riacquisizione dei blocchi per i thread restituiti dai metodi in attesa è uguale a quello per i thread che inizialmente acquisiscono il blocco, che è nel caso predefinito non specificato, ma per <>i blocchi em fair</em> favorisce i thread in attesa del più lungo.

</ul>

Documentazione java per java.util.concurrent.locks.ReentrantLock.newCondition().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a