ConcurrentModificationException 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.
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.
[Android.Runtime.Register("java/util/ConcurrentModificationException", DoNotGenerateAcw=true)]
public class ConcurrentModificationException : Java.Lang.RuntimeException
[<Android.Runtime.Register("java/util/ConcurrentModificationException", DoNotGenerateAcw=true)>]
type ConcurrentModificationException = class
inherit RuntimeException
- Ereditarietà
- Derivato
- Attributi
Commenti
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita.
Ad esempio, non è in genere consentito che un thread modifichi una raccolta mentre un altro thread esegue l'iterazione su di esso. In generale, i risultati dell'iterazione non sono definiti in queste circostanze. Alcune implementazioni di Iteratore (incluse quelle di tutte le implementazioni della raccolta per utilizzo generico fornite da JRE) possono scegliere di generare questa eccezione se viene rilevato questo comportamento. Gli iteratori che eseguono questa operazione sono noti come iteratori veloci a errori, in quanto hanno esito negativo in modo rapido e pulito, piuttosto che rischiare un comportamento arbitrario non deterministico in un momento non deterministico in futuro.
Si noti che questa eccezione non indica sempre che un oggetto è stato modificato contemporaneamente da un thread diverso . Se un singolo thread genera una sequenza di chiamate al metodo che viola il contratto di un oggetto, l'oggetto può generare questa eccezione. Ad esempio, se un thread modifica direttamente una raccolta mentre esegue l'iterazione sulla raccolta con un iteratore con esito negativo, l'iteratore genererà questa eccezione.
Si noti che il comportamento di fail-fast non può essere garantito così come è, in generale, impossibile fare garanzie difficili in presenza di modifiche simultanee non sincronizzate. Le operazioni con errori veloci generano ConcurrentModificationException
un'operazione di tipo best-effort. Pertanto, sarebbe sbagliato scrivere un programma che dipende da questa eccezione per la correttezza: ConcurrentModificationException
deve essere usato solo per rilevare i bug.
Aggiunta nella versione 1.2.
Documentazione java per java.util.ConcurrentModificationException
.
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
ConcurrentModificationException() |
Costruisce un'eccezione ConcurrentModificationException senza alcun messaggio di dettaglio. |
ConcurrentModificationException(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
ConcurrentModificationException(String) |
Costruisce un |
ConcurrentModificationException(String, Throwable) |
Costruisce una nuova eccezione con il messaggio di dettaglio e la causa specificati. |
ConcurrentModificationException(Throwable) |
Costruisce una nuova eccezione con la causa specificata e un messaggio di dettaglio di |
Campi
is_generated |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
Proprietà
Cause |
Restituisce la causa di questa eccezione generata o |
Class |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Throwable) |
JniIdentityHashCode |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
JniPeerMembers |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. |
LocalizedMessage |
Crea una descrizione localizzata di questa eccezione generata. (Ereditato da Throwable) |
Message |
Restituisce la stringa di messaggio di dettaglio di questa eccezione generata. (Ereditato da Throwable) |
PeerReference |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
StackTrace |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
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
AddSuppressed(Throwable) |
Aggiunge l'eccezione specificata alle eccezioni eliminate per recapitare questa eccezione. (Ereditato da Throwable) |
Dispose() |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
Dispose(Boolean) |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
FillInStackTrace() |
Compila l'analisi dello stack di esecuzione. (Ereditato da Throwable) |
GetStackTrace() |
Fornisce l'accesso a livello di codice alle informazioni di analisi dello stack stampate da |
GetSuppressed() |
Restituisce una matrice contenente tutte le eccezioni eliminate, in genere dall'istruzione |
InitCause(Throwable) |
Inizializza la causa di questa eccezione generata sul valore specificato. (Ereditato da Throwable) |
PrintStackTrace() |
Stampa l'eccezione generata e il relativo backtrace nel flusso di errore standard. (Ereditato da Throwable) |
PrintStackTrace(PrintStream) |
Stampa l'eccezione generata e il relativo backtrace nel flusso di stampa specificato. (Ereditato da Throwable) |
PrintStackTrace(PrintWriter) |
Stampa l'eccezione generata e il relativo backtrace nel writer di stampa specificato. (Ereditato da Throwable) |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Throwable) |
SetStackTrace(StackTraceElement[]) |
Imposta gli elementi di analisi dello stack che verranno restituiti da |
ToString() |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
UnregisterFromRuntime() |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
IJavaPeerable.DisposeUnlessReferenced() |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
IJavaPeerable.Finalized() |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
IJavaPeerable.JniManagedPeerState |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. (Ereditato da Throwable) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. |
GetJniTypeName(IJavaPeerable) |
Questa eccezione può essere generata da metodi che hanno rilevato modifiche simultanee di un oggetto quando tale modifica non è consentita. |