CopyOnWriteArraySet 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.
Oggetto Set
che utilizza un oggetto interno CopyOnWriteArrayList
per tutte le operazioni.
[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArraySet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type CopyOnWriteArraySet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Oggetto Set
che utilizza un oggetto interno CopyOnWriteArrayList
per tutte le operazioni. Pertanto, condivide le stesse proprietà di base: <ul><li>È più adatto per le applicazioni in cui le dimensioni dei set in genere rimangono piccole e operazioni di sola lettura molto operazioni mutative in numero insufficiente e è necessario evitare interferenze tra i thread durante l'attraversamento. <li>È thread-safe. <Le operazioni mutative li>(add
, set
, e remove
così via) sono costose perché in genere comportano la copia dell'intera matrice sottostante. <Gli iteratori li>non supportano l'operazione mutativa remove
. <l'attraversamento li>tramite iteratori è veloce e non può incontrare interferenze da altri thread. Gli iteratori si basano su snapshot non modificabili della matrice al momento della costruzione degli iteratori. </ul>
<b>Esempio di utilizzo.</b> Lo schizzo di codice seguente usa un set di copia su scrittura per mantenere un set di oggetti gestore che eseguono alcune azioni sugli aggiornamenti dello stato.
{@code
class Handler { void handle() { ... } }
class X {
private final CopyOnWriteArraySet<Handler> handlers
= new CopyOnWriteArraySet<>();
public void addHandler(Handler h) { handlers.add(h); }
private long internalState;
private synchronized void changeState() { internalState = ...; }
public void update() {
changeState();
for (Handler handler : handlers)
handler.handle();
}
}}
Questa classe è un membro di Java Collections Framework.
Aggiunto nella versione 1.5.
Documentazione java per java.util.concurrent.CopyOnWriteArraySet
.
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.
Costruttori
CopyOnWriteArraySet() |
Crea un set vuoto. |
CopyOnWriteArraySet(ICollection) |
Crea un set contenente tutti gli elementi della raccolta specificata. |
CopyOnWriteArraySet(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 per l'istanza di Android sottostante. (Ereditato da Object) |
IsEmpty |
Da aggiungere (Ereditato da AbstractCollection) |
JniIdentityHashCode |
Oggetto |
JniPeerMembers |
Oggetto |
PeerReference |
Oggetto |
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() |
Oggetto |
Dispose(Boolean) |
Oggetto |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
ForEach(IConsumer) |
Oggetto |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
Iterator() |
Restituisce un iteratore sugli elementi contenuti in questo set nell'ordine in cui sono stati aggiunti questi elementi. |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
Remove(Object) |
Da aggiungere (Ereditato da AbstractCollection) |
RemoveAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
RemoveIf(IPredicate) |
Oggetto |
RetainAll(ICollection) |
Da aggiungere (Ereditato da AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
Size() |
Restituisce il numero di elementi in questo set. |
Spliterator() |
Restituisce un |
ToArray() |
Da aggiungere (Ereditato da AbstractCollection) |
ToArray(Object[]) |
Da aggiungere (Ereditato da AbstractCollection) |
ToArray<T>() |
Oggetto |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Oggetto |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< 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() |
Oggetto |
IJavaPeerable.DisposeUnlessReferenced() |
Oggetto |
IJavaPeerable.Finalized() |
Oggetto |
IJavaPeerable.JniManagedPeerState |
Oggetto |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Oggetto |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Oggetto |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Oggetto |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Oggetto |
GetJniTypeName(IJavaPeerable) |
Oggetto |
ToEnumerable(IIterable) |
Oggetto |
ToEnumerable<T>(IIterable) |
Oggetto |