Dlaczego wyjątek współbieżnej modyfikacji występuje w java?

Spisu treści:

Dlaczego wyjątek współbieżnej modyfikacji występuje w java?
Dlaczego wyjątek współbieżnej modyfikacji występuje w java?
Anonim

Wyjątek ConcurrentModificationException występuje, gdy podjęto próbę jednoczesnej modyfikacji obiektu, gdy jest to niedopuszczalne. Ten wyjątek zwykle pojawia się, gdy pracujemy z klasami Java Collection. Na przykład - wątek nie może modyfikować kolekcji, gdy jakiś inny wątek iteruje nad nią.

Jak naprawić wyjątek współbieżnej modyfikacji?

Możemy również uniknąć wyjątku współbieżnej modyfikacji w środowisku jednowątkowym. Możemy użyć metody remove iteratora, aby usunąć obiekt z bazowego obiektu kolekcji. Ale w tym przypadku możesz usunąć tylko ten sam obiekt, a nie żaden inny obiekt z listy.

Jak zapobiec wyjątkowi jednoczesnej modyfikacji na mapie?

use ConcurrentHashMap. nadal używaj prostej HashMap, ale buduj nową mapę dla każdej modyfikacji i przełączaj mapy za kulisami (synchronizacja operacji przełączania lub użycie AtomicReference)

Która metoda iteratora zgłasza jednoczesny wyjątek modyfikacji?

Jeśli wywołamy sekwencję metod na obiekcie, który narusza jego kontrakt, obiekt wyrzuci ConcurrentModificationException. Na przykład: jeśli podczas iteracji po kolekcji spróbujemy bezpośrednio zmodyfikować tę kolekcję, to podany szybki iterator zgłosi ten wyjątek ConcurrentModificationException.

Jaki jest wyjątek współbieżnej modyfikacji w przepełnieniu stosu Java?

Jeśli pojedynczy wątek generuje sekwencję wywołań metod, która narusza kontrakt obiektu, obiekt może zgłosić ten wyjątek. Na przykład, jeśli wątek modyfikuje kolekcję bezpośrednio podczas iteracji kolekcji z szybkim iteratorem, iterator zgłosi ten wyjątek.

Zalecana:

Interesujące artykuły
Czy kaufman kontra Lawler był prawdziwy?
Czytaj więcej

Czy kaufman kontra Lawler był prawdziwy?

Wiele lat po tym, jak Kaufman i Lawler pojawili się w „Late Night”, Lawler ujawnił, że ich spór został całkowicie zainscenizowany i że para była w rzeczywistości bliskimi przyjaciółmi, według The Los Angeles Times. To miało sens: teatralny charakter pracy Kaufmana i świata wrestlingu były meczem w raju oszustów.

Dlaczego tusz do rzęs rozmazuje się pod oczami?
Czytaj więcej

Dlaczego tusz do rzęs rozmazuje się pod oczami?

"Wilgoć i olejki z kremu pod oczy mieszają się z ciepłem i olejkami ze skóry. Ciepło to unosi się w kierunku tuszu i wpływa na formułę tuszu do rzęs, który rozkłada składniki, tworząc przerażające plamy i smugi tuszu do rzęs." Jak sprawić, by tusz do rzęs nie rozmazywał się pod oczami?

Kto jest silniejszy regieleki i regidrago?
Czytaj więcej

Kto jest silniejszy regieleki i regidrago?

Tak dobrze, jak Regidrago może wyglądać na papierze, Regieleki jest lepsze. Z 200 bazową statystyką szybkości, Regieleki jest najszybszym Pokémonem w grze. Cierpi na ten sam brak masy co Regidrago, mając tylko 50 dla obu podstawowych statystyk Obrony, ale ma też tylko 80 podstawowych HP, co czyni go jeszcze słabszym.