IBlockingDeque Interfaccia
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.
Oggetto Deque
che supporta inoltre operazioni di blocco che attendono che la deque diventi non vuota durante il recupero di un elemento e attendi che lo spazio diventi disponibile nella deque durante l'archiviazione di un elemento.
[Android.Runtime.Register("java/util/concurrent/BlockingDeque", "", "Java.Util.Concurrent.IBlockingDequeInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface IBlockingDeque : IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IBlockingQueue, Java.Util.IDeque
[<Android.Runtime.Register("java/util/concurrent/BlockingDeque", "", "Java.Util.Concurrent.IBlockingDequeInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type IBlockingDeque = interface
interface IBlockingQueue
interface IQueue
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IDeque
- Derivato
- Attributi
- Implementazioni
Commenti
Oggetto Deque
che supporta inoltre operazioni di blocco che attendono che la deque diventi non vuota durante il recupero di un elemento e attendi che lo spazio diventi disponibile nella deque durante l'archiviazione di un elemento.
BlockingDeque
I metodi sono disponibili in quattro forme, con diversi modi di gestire le operazioni che non possono essere soddisfatte immediatamente, ma possono essere soddisfatte in un determinato momento in futuro: una genera un'eccezione, la seconda restituisce un valore speciale (o false
, null
a seconda dell'operazione), il terzo blocca il thread corrente per un tempo illimitato fino a quando l'operazione non può avere esito positivo e il quarto blocco solo per un determinato limite di tempo massimo prima di rinunciare. Questi metodi sono riepilogati nella tabella seguente:
<table class="plain">caption Summary of BlockingDeque methods</caption><tr><th id="First" colspan="5"> First Element (Head)</th></tr tr<<>>td></td<>th id="FThrow" style="font-weight:normal; font-style: italic">Throws exception</th<>id="FValue" style="font-weight:normal; font-style: italic">Special value</th><id="FBlock" style="font-weight:>< normale; font-style: corsivo">Blocks/th><id="FTimes" style="font-weight:normal; font-style: italic">Times out</th<>/tr tr><><th id="FInsert" style="text-align:left">Insert</th<>td headers="First FInsert FThrow"#addFirst(Object) addFirst(e)
></td td<>headers="First FInsert FValue">#offerFirst(Object) offerFirst(e)
</td td<>headers="First FInsert FBlock"#putFirst(Object) putFirst(e)
<>/td td<>headers="First< FInsert FTimes"><#offerFirst(Object, long, TimeUnit) offerFirst(e, time, unit)
/td></tr tr>><<th id="FRemove" style="text-align:left">Remove</th><td headers="First FRemove FThrow"<#removeFirst() removeFirst()
>/td td><headers="First FRemove FValue">#pollFirst() pollFirst()
</td td><headers="First FRemove FBlock">#takeFirst() takeFirst()
</td td><headers="First FRemove FTimes"<>#pollFirst(long, TimeUnit) pollFirst(time, unit)
/td<>/tr tr><><th id="FExamine" style=" text-align:left">Examine</th><td headers="First FExamine FThrow"#getFirst() getFirst()
></td td<>headers="First FExamine FValue"<#peekFirst() peekFirst()
>/td td<>headers="First FExamine FBlock" style=""First FExamine FBlock" style=""First FExamine FBlock font-style:italic">not applicable</td td td<>headers="First FExamine FTimes" style="font-style:italic">not applicable</td<>/tr tr<>><th id="Last" colspan="5"> Ultimo elemento (Tail)</th<>/tr tr><<>td/td<>>< th id="LThrow" style="font-weight:normal; font-style: italic">Throws exception</th><id="LValue" style="font-weight:normal; font-style: italic">Special value</th><id="LBlock" style="font-weight:normal; font-style: italic">Blocks</th><id="LTimes" style="font-weight:normal; font-style: italic">Times out</th<>/tr tr><><th id="LInsert" style="text-align:left">Insert</th><td headers="Last LInsert LThrow"/td td td headers="Last LInsert LValue"<#offerLast(Object) offerLast(e)
>/td td td<>headers="Last LInsert LBlock">#putLast(Object) putLast(e)
</td td><headers="Last LInsert LTimes><#offerLast(Object, long, TimeUnit) offerLast(e, time, unit)
"><#addLast(Object) addLast(e)
/td<>></tr>><<th id="LRemove" style="text-align:left"Remove/th<>td headers="Last LRemove LThrow"#removeLast() removeLast()
></td td><headers="Last LRemove LValue"<>#pollLast() pollLast()
/td td><headers="Last LRemove LBlock"<#takeLast() takeLast()
>/td td><headers="Last LRemove LTimes"<#pollLast(long, TimeUnit) pollLast(time, unit)
>/td></tr tr>><<th id="LExamine" style="text-align:left">Examine</th><><td headers="Last LExamine LThrow">#getLast() getLast()
</td td headers="Last LExamine LValue">#peekLast() peekLast()
</td td<>headers="Last LExamine LBlock" style="font-style:italic">not applicable</td td td<>headers="Last LExamine LTimes" style="font-style:italic">not applicable</td></tr></table><>
Come qualsiasi BlockingQueue
, un BlockingDeque
è thread-safe, non consente elementi Null e può (o meno) essere vincolato dalla capacità.
Un'implementazione BlockingDeque
può essere usata direttamente come FIFO BlockingQueue
. I metodi ereditati dall'interfaccia BlockingQueue
sono esattamente equivalenti ai BlockingDeque
metodi indicati nella tabella seguente:
<table class="plain">caption Comparison of BlockingQueue and BlockingDeque methods</caption><tr><td/td>><< th id="BQueue"BlockingQueue
> Method</th th<>id="BDeque"> Equivalent BlockingDeque
Method</th/tr<>tr<>th>< id="Insert" rowspan="4" style="text-align:left; vertical-align:top">Insert</th><id="add" style="font-weight:normal; text-align:left">><#add(Object) add(e)
</th><td headers="Insert BDeque add"<>#addLast(Object) addLast(e)
/td<>/tr tr><<>th id="offer1" style="font-weight:normal; text-align:left">#offer(Object) offer(e)
</th><td headers="Insert BDeque offer1"<#offerLast(Object) offerLast(e)
>/td<>/tr tr>><<th id="put" style="font-weight:normal; text-align:left"><#put(Object) put(e)
/th<>td headers="Insert BDeque put"<#putLast(Object) putLast(e)
>/td></tr><Tr><th id="offer2" style="font-weight:normal; text-align:left"><#offer(Object, long, TimeUnit) offer(e, time, unit)
/th><td headers="Insert BDeque offer2"#offerLast(Object, long, TimeUnit) offerLast(e, time, unit)
></td<>/tr tr><><th id="Remove" rowspan="4" style="text-align:left; vertical-align:top">Remove</th<>id="remove" style="font-weight:normal; text-align:left"<>#remove() remove()
/th<>td headers="Remove BDeque remove"<>#removeFirst() removeFirst()
/td<>/tr tr><><th id="poll1" style=" font-weight:normal; text-align:left">#poll() poll()
</th<>td headers="Remove BDeque poll1"#pollFirst() pollFirst()
<>/td<>/tr tr>><<th id="take" style="font-weight:normal; text-align:left"/th><td headers="Remove BDeque take"<#takeFirst() takeFirst()
>/td<>/tr>><<tr th id="poll2" style="font-weight:normal; text-align:left"#poll(long, TimeUnit) poll(time, unit)
><#take() take()
<>/th><td headers=" Rimuovere BDeque poll2">#pollFirst(long, TimeUnit) pollFirst(time, unit)
</td></tr tr>><<th id="Examine" rowspan="2" style="text-align:left; vertical-align:top">Examine</th<>id="element" style="font-weight:normal; text-align:left"<>#element() element()
/th<>td headers="Examine BDeque element"<>#getFirst() getFirst()
/td<>/tr tr><><th id="peek" style="font-weight:normal; text-align:left" >#peek() peek()
</th><td headers="Examine BDeque peek"#peekFirst() peekFirst()
></td<>/tr></table>
Effetti di coerenza della memoria: come con altre raccolte simultanee, le azioni in un thread prima di inserire un oggetto in un'azione BlockingDeque
<i-before></i> successive all'accesso o alla rimozione di tale elemento da BlockingDeque
in un altro thread.
Questa interfaccia è un membro di Java Collections Framework.
Aggiunta nella versione 1.6.
Documentazione java per java.util.concurrent.BlockingDeque
.
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.
Proprietà
First |
Recupera, ma non rimuove, il primo elemento di questa deque. (Ereditato da IDeque) |
Handle |
Ottiene il valore JNI dell'oggetto Android sottostante. (Ereditato da IJavaObject) |
IsEmpty |
Restituisce se l'oggetto |
JniIdentityHashCode |
Restituisce il valore di |
JniManagedPeerState |
Stato del peer gestito. (Ereditato da IJavaPeerable) |
JniPeerMembers |
Supporto per l'accesso ai membri e la chiamata. (Ereditato da IJavaPeerable) |
Last |
Recupera, ma non rimuove, l'ultimo elemento di questa deque. (Ereditato da IDeque) |
PeerReference |
Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto Java di cui è stato eseguito il wrapping. (Ereditato da IJavaPeerable) |
Metodi
Add(Object) |
Inserisce l'elemento specificato nella coda rappresentata da questa deque (in altre parole, alla fine di questa deque) se è possibile farlo immediatamente senza violare le restrizioni di capacità, restituendo |
AddAll(ICollection) |
Aggiunge tutti gli elementi della raccolta specificata a questa raccolta (operazione facoltativa). (Ereditato da ICollection) |
AddFirst(Object) |
Inserisce l'elemento specificato nella parte anteriore di questa deque se è possibile farlo immediatamente senza violare le restrizioni di capacità, generando un'eccezione |
AddLast(Object) |
Inserisce l'elemento specificato alla fine di questa deque se è possibile farlo immediatamente senza violare le restrizioni di capacità, generando un'eccezione |
Clear() |
Rimuove tutti gli elementi da questa raccolta (operazione facoltativa). (Ereditato da ICollection) |
Contains(Object) |
Restituisce |
ContainsAll(ICollection) |
Restituisce |
DescendingIterator() |
Restituisce un iteratore sugli elementi in questa deque in ordine sequenziale inverso. (Ereditato da IDeque) |
Disposed() |
Chiamato quando l'istanza è stata eliminata. (Ereditato da IJavaPeerable) |
DisposeUnlessReferenced() |
Se non sono presenti riferimenti in sospeso a questa istanza, chiama |
DrainTo(ICollection) |
Rimuove tutti gli elementi disponibili dalla coda e li aggiunge alla raccolta specificata. (Ereditato da IBlockingQueue) |
DrainTo(ICollection, Int32) |
Rimuove al massimo il numero specificato di elementi disponibili da questa coda e li aggiunge alla raccolta specificata. (Ereditato da IBlockingQueue) |
Element() |
Recupera, ma non rimuove, l'intestazione della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque). |
Equals(Object) |
Confronta l'oggetto specificato con questa raccolta per verificare l'uguaglianza. (Ereditato da ICollection) |
Finalized() |
Chiamato quando l'istanza è stata finalizzata. (Ereditato da IJavaPeerable) |
ForEach(IConsumer) |
Esegue l'azione specificata per ogni elemento di |
GetHashCode() |
Restituisce il valore del codice hash per questa raccolta. (Ereditato da ICollection) |
Iterator() |
Restituisce un iteratore sugli elementi in questa deque in sequenza corretta. |
Offer(Object) |
Inserisce l'elemento specificato nella coda rappresentata da questa deque (in altre parole, alla fine di questa deque) se è possibile farlo immediatamente senza violare restrizioni di capacità, restituendo |
Offer(Object, Int64, TimeUnit) |
Inserisce l'elemento specificato nella coda rappresentata da questa deque (in altre parole, alla fine di questa deque), in attesa fino al tempo di attesa specificato, se necessario per rendere disponibile lo spazio. |
OfferFirst(Object) |
Inserisce l'elemento specificato nella parte anteriore di questa deque se è possibile farlo immediatamente senza violare le restrizioni di capacità, restituendo |
OfferFirst(Object, Int64, TimeUnit) |
Inserisce l'elemento specificato nella parte anteriore di questa deque, in attesa fino al tempo di attesa specificato, se necessario per rendere disponibile lo spazio. |
OfferLast(Object) |
Inserisce l'elemento specificato alla fine di questa deque se è possibile farlo immediatamente senza violare le restrizioni di capacità, restituendo |
OfferLast(Object, Int64, TimeUnit) |
Inserisce l'elemento specificato alla fine di questa deque, in attesa fino al tempo di attesa specificato, se necessario per rendere disponibile lo spazio. |
Peek() |
Recupera, ma non rimuove, l'intestazione della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque) o restituisce |
PeekFirst() |
Recupera, ma non rimuove, il primo elemento di questa deque o restituisce |
PeekLast() |
Recupera, ma non rimuove, l'ultimo elemento di questa deque o restituisce |
Poll() |
Recupera e rimuove l'intestazione della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque) o restituisce |
Poll(Int64, TimeUnit) |
Recupera e rimuove l'intestazione della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque), in attesa fino al tempo di attesa specificato, se necessario per rendere disponibile un elemento. |
PollFirst() |
Recupera e rimuove il primo elemento di questa deque oppure restituisce |
PollFirst(Int64, TimeUnit) |
Recupera e rimuove il primo elemento di questa deque, in attesa fino al tempo di attesa specificato, se necessario per rendere disponibile un elemento. |
PollLast() |
Recupera e rimuove l'ultimo elemento di questa deque oppure restituisce |
PollLast(Int64, TimeUnit) |
Recupera e rimuove l'ultimo elemento di questa deque, in attesa fino al tempo di attesa specificato, se necessario, affinché un elemento diventi disponibile. |
Pop() |
Popa un elemento dallo stack rappresentato da questa deque. (Ereditato da IDeque) |
Push(Object) |
Inserisce un elemento nello stack rappresentato da questa deque (in altre parole, all'inizio di questa deque) se è possibile farlo immediatamente senza violare le restrizioni di capacità, generando un'eccezione |
Put(Object) |
Inserisce l'elemento specificato nella coda rappresentata da questa deque (in altre parole, alla fine di questa deque), in attesa, se necessario, della disponibilità dello spazio. |
PutFirst(Object) |
Inserisce l'elemento specificato nella parte anteriore di questa deque, in attesa, se necessario, che lo spazio diventi disponibile. |
PutLast(Object) |
Inserisce l'elemento specificato alla fine di questa deque, in attesa, se necessario, che lo spazio diventi disponibile. |
RemainingCapacity() |
Restituisce il numero di elementi aggiuntivi che questa coda può idealmente accettare (in assenza di vincoli di memoria o risorse) senza bloccare o |
Remove() |
Recupera e rimuove l'intestazione della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque). |
Remove(Object) |
Rimuove la prima occorrenza dell'elemento specificato da questa deque. |
RemoveAll(ICollection) |
Rimuove tutti gli elementi di questa raccolta contenuti anche nella raccolta specificata (operazione facoltativa). (Ereditato da ICollection) |
RemoveFirst() |
Recupera e rimuove il primo elemento di questa deque. (Ereditato da IDeque) |
RemoveFirstOccurrence(Object) |
Rimuove la prima occorrenza dell'elemento specificato da questa deque. |
RemoveIf(IPredicate) |
Rimuove tutti gli elementi di questa raccolta che soddisfano il predicato specificato. (Ereditato da ICollection) |
RemoveLast() |
Recupera e rimuove l'ultimo elemento di questa deque. (Ereditato da IDeque) |
RemoveLastOccurrence(Object) |
Rimuove l'ultima occorrenza dell'elemento specificato da questa deque. |
RetainAll(ICollection) |
Mantiene solo gli elementi di questa raccolta contenuti nella raccolta specificata (operazione facoltativa). (Ereditato da ICollection) |
SetJniIdentityHashCode(Int32) |
Impostare il valore restituito da |
SetJniManagedPeerState(JniManagedPeerStates) |
Oggetto |
SetPeerReference(JniObjectReference) |
Impostare il valore restituito da |
Size() |
Restituisce il numero di elementi in questa deque. |
Spliterator() |
Crea un |
Take() |
Recupera e rimuove l'intestazione della coda rappresentata da questa deque (in altre parole, il primo elemento di questa deque), in attesa, se necessario, fino a quando non diventa disponibile un elemento. |
TakeFirst() |
Recupera e rimuove il primo elemento di questa deque, in attesa, se necessario, fino a quando non diventa disponibile un elemento. |
TakeLast() |
Recupera e rimuove l'ultimo elemento di questa deque, in attesa, se necessario, fino a quando non diventa disponibile un elemento. |
ToArray() |
Restituisce una matrice contenente tutti gli elementi dell'insieme. (Ereditato da ICollection) |
ToArray(IIntFunction) |
Restituisce una matrice contenente tutti gli elementi di questa raccolta, utilizzando la funzione fornita |
ToArray(Object[]) |
Restituisce una matrice contenente tutti gli elementi dell'insieme; Il tipo di runtime della matrice restituita è quello della matrice specificata. (Ereditato da ICollection) |
UnregisterFromRuntime() |
Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue . (Ereditato da IJavaPeerable) |
Implementazioni dell'interfaccia esplicita
IIterable.Spliterator() |
Crea un |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Oggetto |
GetJniTypeName(IJavaPeerable) |
Oggetto |
OfferFirstAsync(IBlockingDeque, Object) |
Oggetto |
OfferFirstAsync(IBlockingDeque, Object, Int64, TimeUnit) |
Oggetto |
OfferLastAsync(IBlockingDeque, Object) |
Oggetto |
OfferLastAsync(IBlockingDeque, Object, Int64, TimeUnit) |
Oggetto |
PollFirstAsync(IBlockingDeque, Int64, TimeUnit) |
Oggetto |
PollLastAsync(IBlockingDeque, Int64, TimeUnit) |
Oggetto |
PutFirstAsync(IBlockingDeque, Object) |
Oggetto |
PutLastAsync(IBlockingDeque, Object) |
Oggetto |
TakeFirstAsync(IBlockingDeque) |
Oggetto |
TakeLastAsync(IBlockingDeque) |
Oggetto |
OfferAsync(IBlockingQueue, Object) |
Oggetto |
OfferAsync(IBlockingQueue, Object, Int64, TimeUnit) |
Oggetto |
PollAsync(IBlockingQueue, Int64, TimeUnit) |
Oggetto |
PutAsync(IBlockingQueue, Object) |
Oggetto |
TakeAsync(IBlockingQueue) |
Oggetto |
ToEnumerable(IIterable) |
Oggetto |
ToEnumerable<T>(IIterable) |
Oggetto |