Perché in Java si verifica un'eccezione di modifica simultanea?

Sommario:

Perché in Java si verifica un'eccezione di modifica simultanea?
Perché in Java si verifica un'eccezione di modifica simultanea?
Anonim

L'eccezione ConcurrentModification si verifica quando si tenta di modificare un oggetto contemporaneamente quando non è consentito. Questa eccezione di solito si verifica quando si lavora con le classi Java Collection. Ad esempio - Non è consentito che un thread modifichi una Collection quando qualche altro thread sta iterando su di esso.

Come posso correggere l'eccezione di modifica simultanea?

Possiamo anche evitare l'eccezione di modifica simultanea in un singolo ambiente a thread. Possiamo usare il metodo remove di Iterator per rimuovere l'oggetto dall'oggetto raccolta sottostante. Ma in questo caso, puoi rimuovere solo lo stesso oggetto e non qualsiasi altro oggetto dall'elenco.

Come si impedisce l'eccezione di modifica simultanea su una mappa?

usa ConcurrentHashMap. continua a usare HashMap semplice, ma costruisci una nuova mappa su ogni modifica e cambia le mappe dietro le quinte (sincronizzando l'operazione di cambio o usando AtomicReference)

Quale metodo di iteratore genera un'eccezione di modifica simultanea?

Se invochiamo una sequenza di metodi su un oggetto che viola il suo contratto, l'oggetto genera ConcurrentModificationException. Ad esempio: se durante l'iterazione sulla raccolta, proviamo direttamente a modificare quella raccolta, il dato iteratore fail-fast genererà questa ConcurrentModificationException.

Qual è l'eccezione di modifica simultanea nell'overflow dello stack Java?

Se un singolo thread emette una sequenza di invocazioni di metodi che viola il contratto di un oggetto, l'oggetto può generare questa eccezione. Ad esempio, se un thread modifica una raccolta direttamente mentre sta eseguendo un'iterazione sulla raccolta con un iteratore fail-fast, l'iteratore genererà questa eccezione.

Consigliato:

Articoli interessanti
Ochsner è un buon posto dove lavorare?
Leggi di più

Ochsner è un buon posto dove lavorare?

Ochsner è un'ottima azienda per cui lavorare. È una grande azienda con molte opportunità di crescita. È anche un luogo molto affollato e in continua crescita. Ochsner regala bonus natalizi? Ochsner He alth Systems è una delle aziende più generose della Louisiana nel periodo natalizio.

I pokemon scambiati mi obbediranno?
Leggi di più

I pokemon scambiati mi obbediranno?

4 Risposte. Qualsiasi Pokemon che ti sei catturato durante il tuo gioco ti obbedirà sempre, indipendentemente dal livello. Tuttavia qualsiasi Pokemon scambiato obbedirà solo se hai il badge palestra giusto. Con ogni badge alternativo, i Pokemon di livello superiore obbediranno, ad es.

In una società quotata in borsa?
Leggi di più

In una società quotata in borsa?

Una società pubblica è una che emette azioni quotate in borsa, il che significa che le azioni possono essere acquistate da chiunque sul mercato aperto e possono essere vendute, di solito molto facilmente. Si noti che le società quotate in borsa non sono di proprietà pubblica, non sono possedute o controllate da alcun governo.