Proč dochází v jazyce Java k výjimce souběžných úprav?

Obsah:

Proč dochází v jazyce Java k výjimce souběžných úprav?
Proč dochází v jazyce Java k výjimce souběžných úprav?
Anonim

Výjimka ConcurrentModificationException nastane, když objekt se pokouší upravit současně, když to není přípustné. Tato výjimka obvykle nastává, když člověk pracuje s třídami Java Collection. Například – Není přípustné, aby vlákno upravovalo sbírku, když nad ní prochází nějaké jiné vlákno.

Jak opravím výjimku souběžných úprav?

Výjimce souběžné modifikace se můžeme také vyhnout v prostředí s jedním vláknem. K odstranění objektu ze základního objektu kolekce můžeme použít metodu remove Iterator. Ale v tomto případě můžete ze seznamu odstranit pouze stejný objekt a ne žádný jiný objekt.

Jak zabráníte výjimce souběžných úprav na mapě?

použít ConcurrentHashMap. pokračujte v používání jednoduché HashMap, ale vytvořte novou mapu na každé modifikaci a přepínejte mapy v zákulisí (synchronizace operace přepínače nebo použití AtomicReference)

Která metoda iterátoru vyvolá výjimku souběžných úprav?

Pokud vyvoláme sekvenci metod na objektu, který porušuje jeho smlouvu, pak objekt vyvolá ConcurrentModificationException. Například: pokud se při iteraci kolekce přímo pokoušíme upravit tuto kolekci, pak daný fail-fast iterator vyvolá tuto ConcurrentModificationException.

Jaká je výjimka souběžných úprav při přetečení zásobníku Java?

Pokud jedno vlákno vydá sekvenci vyvolání metody, která porušuje smlouvu objektu, objekt může vyvolat tuto výjimku. Pokud například vlákno upravuje kolekci přímo, zatímco iteruje kolekci pomocí iterátoru rychlého při selhání, iterátor vyvolá tuto výjimku.

Doporučuje:

Zajímavé články
Věděl bych, jestli mám revmatoidní artritidu?
Přečtěte si více

Věděl bych, jestli mám revmatoidní artritidu?

Příznaky a příznaky revmatoidní artritidy mohou zahrnovat: Jemné, teplé, oteklé klouby . Ztuhlost kloubů, která je obvykle horší ráno a po nečinnosti. Únava, horečka a ztráta chuti k jídlu. Můžete mít RA a nevíte o tom? U lidí s RA imunitní systém omylem napadne buňky ve výstelce jejich kloubu, což vede k zánětu kloubů, který je oteče, ztuhne a bolí.

Byl kámen mudrců viteál?
Přečtěte si více

Byl kámen mudrců viteál?

Původně zodpovězeno: Byl kámen mudrců viteál? Ne. Ačkoli uvažovat o tom jako o viteálu je logické (protože látka dá pijákovi plnou nesmrtelnost) Není to viteál. Viteál je předmět, ve kterém je ukryta část duše. Byl Kámen mudrců zničen?

Potřebuje rebazování silou?
Přečtěte si více

Potřebuje rebazování silou?

Pokud znovu založíte větev, budete muset tuto větev vynutit. Rebase a sdílené úložiště obecně nejdou dohromady. Toto je přepisování historie. Pokud jiní používají tuto větev nebo se z této větve rozvětvili, bude rebase dost nepříjemné. Vyžaduje rebase push?