Zašto se iznimka istodobne izmjene događa u Javi?

Zašto se iznimka istodobne izmjene događa u Javi?
Zašto se iznimka istodobne izmjene događa u Javi?
Anonim

Izuzetak ConcurrentModificationException se događa kada se objekt pokuša modificirati istovremeno kada to nije dopušteno. Ova iznimka obično dolazi kada se radi s klasama Java Collection. Na primjer - Nije dopušteno da nit mijenja zbirku kada se neka druga nit ponavlja preko nje.

Kako mogu popraviti iznimku istodobne izmjene?

Također možemo izbjeći iznimku istodobne izmjene u okruženju s jednom niti. Možemo koristiti metodu uklanjanja Iteratora za uklanjanje objekta iz temeljnog objekta zbirke. Ali u ovom slučaju možete ukloniti samo isti objekt, a ne bilo koji drugi objekt s popisa.

Kako spriječiti iznimku istodobne izmjene na karti?

koristite ConcurrentHashMap. nastavite koristiti jednostavan HashMap, ali izgradite novu kartu na svakoj izmjeni i mijenjajte karte iza kulisa (sinkroniziranje operacije prebacivanja ili korištenje AtomicReference)

Koja metoda iteratora izbacuje iznimku istodobne izmjene?

Ako pozovemo niz metoda na objektu koji krši njegov ugovor, tada objekt izbacuje ConcurrentModificationException. Na primjer: ako tijekom iteracije preko zbirke, izravno pokušamo izmijeniti tu zbirku, tada će dati fail-fast iterator izbaciti ovaj ConcurrentModificationException.

Koja je iznimka istodobne izmjene u preljevu Java stoga?

Ako jedna nit izda niz poziva metoda koji narušavaju ugovor objekta, objekt može izbaciti ovu iznimku. Na primjer, ako nit mijenja zbirku izravno dok iterira preko zbirke s brzim iteratorom, iterator će izbaciti ovu iznimku.

Preporučeni: