ConcurrentModificstionException

ConcurrentModificstionException
  • Rejestracja: dni
  • Ostatnio: dni
0

Mam exceptiona takiego jak wyzej na liscie.

Jeden watek iteruje po liscie i przetworzone obiekty usuwa przez iterator.remove() w tym czasie inny moze w trakcie tej petli dodawac do tej listy obiekty. Excrption leci na iterator.remove(). Pytanie jak to ogarnac czy wystarczy ze zmienie z List lista = new ArrayListy<>(); na CopyOnWriteArrayList czy jakos inaczej to ogarnac?

S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 3573
0

Czemu używasz to tego listy? Jeden wątek tworzy coś, drugi przerabia i usuwa czy jak?
Bo chyba najlepiej do tego https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html, a poza tym polecam poczytac najpierw o współbieżności zamiast programowac na pałę

  • Rejestracja: dni
  • Ostatnio: dni
0

dzianie jest takie ze jeden watek odpowiada za odbior danych i jesli nie ma konfiguracji to wrzuca te dane do listy, drugi sprawdza co jakis czas czy lista cos zawiera i przetwarza dane z listy jesli konfiguracja juz sie pojawila

itgolo
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Sandomierz
  • Postów: 24
0

Ja do takich celów używałem CopyOnWriteArrayList lub synchronized dla metody pobierającej listę.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.