The ConcurrentModificationException oppstår når et objekt forsøkes endret samtidig når det ikke er tillatt. Dette unntaket kommer vanligvis når man jobber med Java Collection-klasser. For eksempel - Det er ikke tillatt for en tråd å endre en samling når en annen tråd gjentar den.
Hvordan fikser jeg unntak for samtidig endring?
Vi kan også unngå unntaket for samtidige modifikasjoner i et enkelt gjenget miljø. Vi kan bruke fjerningsmetoden til Iterator for å fjerne objektet fra det underliggende samlingsobjektet. Men i dette tilfellet kan du bare fjerne det samme objektet og ikke noe annet objekt fra listen.
Hvordan forhindrer du samtidige modifikasjonsunntak på et kart?
bruk ConcurrentHashMap. fortsett å bruke enkelt HashMap, men bygg et nytt kart på hver modifikasjon og bytt kart bak kulissene (synkronisere bryteroperasjonen eller bruke AtomicReference)
Hvilken metode for iterator gir unntak for samtidig modifikasjon?
Hvis vi påkaller en sekvens av metoder på et objekt som bryter kontrakten, kaster objektet ConcurrentModificationException. For eksempel: hvis vi prøver å endre samlingen direkte mens vi gjentar samlingen, vil den gitte fail-fast iterator kaste dette ConcurrentModificationException.
Hva er unntaket for samtidig modifikasjon i Java-stackoverflyt?
Hvis en enkelt tråd utsteder en sekvens av metodeanrop som bryter med kontrakten til et objekt, kan objektet kaste dette unntaket. For eksempel, hvis en tråd endrer en samling direkte mens den itererer over samlingen med en mislykket iterator, vil iteratoren kaste dette unntaket.