Condividi tramite


ConcurrentLinkedQueue Classe

Definizione

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

[Android.Runtime.Register("java/util/concurrent/ConcurrentLinkedQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ConcurrentLinkedQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/concurrent/ConcurrentLinkedQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ConcurrentLinkedQueue = class
    inherit AbstractQueue
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IQueue
    interface ICollection
    interface IIterable
Ereditarietà
Attributi
Implementazioni

Commenti

Coda di accodamento thread-safe in uscita in base ai nodi collegati. Questa coda ordina elementi FIFO (first-in-first-out). L'em <head</em>> della coda è l'elemento che è stato nella coda più lungo. La <coda< em/em>> della coda è l'elemento che è stato nella coda il più breve tempo. I nuovi elementi vengono inseriti nella parte finale della coda e le operazioni di recupero della coda ottengono elementi nella parte superiore della coda. Una ConcurrentLinkedQueue è una scelta appropriata quando molti thread condivideranno l'accesso a una raccolta comune. Come la maggior parte delle altre implementazioni di raccolte simultanee, questa classe non consente l'uso degli null elementi.

Questa implementazione usa un <algoritmo efficiente em>non< bloccante/em> basato su uno descritto in Simple, Fast e Practical Non Blocca e Blocca algoritmi di coda simultanei di Maged M. Michael e Michael L. Scott.

Gli iteratori sono in modo debole e restituiscono elementi che riflettono lo stato della coda a un certo punto o dopo la creazione dell'iteratore. <Non generano em/em>><java.util.ConcurrentModificationException e possono procedere simultaneamente con altre operazioni. Gli elementi contenuti nella coda dopo la creazione dell'iteratore verranno restituiti esattamente una volta.

Tenere presente che, a differenza della maggior parte delle raccolte, il size metodo è <em>NOT</em> un'operazione in tempo costante. A causa della natura asincrona di queste code, la determinazione del numero corrente di elementi richiede un attraversamento degli elementi e quindi potrebbe segnalare risultati non accurati se questa raccolta viene modificata durante l'attraversamento.

Operazioni bulk che aggiungono, rimuovi o esaminano più elementi, ad esempio #addAll, #removeIf o #forEach, sono <em not</em>> garantiti per essere eseguiti atomicamente. Ad esempio, un forEach attraversamento simultaneo con un'operazione addAll potrebbe osservare solo alcuni degli elementi aggiunti.

Questa classe e il <relativo iteratore implementano tutti i metodi facoltativi</em>> delle Queue interfacce eIterator.

Effetti di coerenza della memoria: come per altre raccolte simultanee, azioni in un thread prima di inserire un oggetto in un'azione ConcurrentLinkedQueue<i before</i>> successive all'accesso ConcurrentLinkedQueue o alla rimozione di tale elemento da un altro thread.

Questa classe è un membro di Java Collections Framework.

Aggiunto nella versione 1.5.

Documentazione Java per java.util.concurrent.ConcurrentLinkedQueue.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

ConcurrentLinkedQueue()

Crea un oggetto ConcurrentLinkedQueue inizialmente vuoto.

ConcurrentLinkedQueue(ICollection)

Crea inizialmente un ConcurrentLinkedQueue oggetto contenente gli elementi della raccolta specificata, aggiunto nell'ordine incrociato dell'iteratore della raccolta.

ConcurrentLinkedQueue(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
IsEmpty

Da aggiungere

(Ereditato da AbstractCollection)
JniIdentityHashCode

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
JniPeerMembers

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

PeerReference

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Add(Object)

Da aggiungere

(Ereditato da AbstractCollection)
AddAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Clear()

Da aggiungere

(Ereditato da AbstractCollection)
Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Contains(Object)

Da aggiungere

(Ereditato da AbstractCollection)
ContainsAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Dispose()

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
Dispose(Boolean)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
Element()

Recupera, ma non rimuove, la testa di questa coda.

(Ereditato da AbstractQueue)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
ForEach(IConsumer)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
Iterator()

Restituisce un iteratore sugli elementi di questa coda nella sequenza appropriata.

JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
Offer(Object)

Inserisce l'elemento specificato nella parte finale della coda.

Peek()

Recupera, ma non rimuove, l'head di questa coda o restituisce null se questa coda è vuota.

Poll()

Recupera e rimuove l'head di questa coda oppure restituisce null se questa coda è vuota.

Remove()

Recupera e rimuove l'head di questa coda.

(Ereditato da AbstractQueue)
Remove(Object)

Da aggiungere

(Ereditato da AbstractCollection)
RemoveAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
RemoveIf(IPredicate)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

RetainAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Size()

Restituisce il numero di elementi in questa coda.

Spliterator()

Restituisce un Spliterator over degli elementi in questa coda.

ToArray()

Da aggiungere

(Ereditato da AbstractCollection)
ToArray(Object[])

Da aggiungere

(Ereditato da AbstractCollection)
ToArray<T>()

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
IJavaPeerable.Finalized()

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

GetJniTypeName(IJavaPeerable)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

ToEnumerable(IIterable)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

ToEnumerable<T>(IIterable)

Coda di accodamento thread-safe in uscita in base ai nodi collegati.

Si applica a