ConcurrentLinkedQueue Classe
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.
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(ICollection) |
Crea inizialmente un |
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 |
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 |
Poll() |
Recupera e rimuove l'head di questa coda oppure restituisce |
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 |
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. |