powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Thread и ArrayList
4 сообщений из 4, страница 1 из 1
Thread и ArrayList
    #37668234
GorloPavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Требуется совет. В многопоточной программе существует ArrayList... Проблема в том, что один поток а какой-то момент может удалять элемент из коллекции, другой перебирать элементы в цикле foreach... Возникает проблема когда один поток удаляет элемент, а второй в этот момент читает его поля. Программа падает в "java.util.ArrayList$Itr.checkForComodification". Заранее огромное спасибо!
...
Рейтинг: 0 / 0
Thread и ArrayList
    #37668243
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
List aList = Collections.synchronizedList(new ArrayList());


или Vector
...
Рейтинг: 0 / 0
Thread и ArrayList
    #37668485
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GorloPavel,

По моему единственная реализация при которой не будет ConcurrentModificationException при итерации - это CopyOnWriteArrayList.
...
Рейтинг: 0 / 0
Thread и ArrayList
    #37668491
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GorloPavel,

Ну а если насчет "Здравствуйте. Требуется совет", то возможно лучшим решением будет добавленлие дополнительной синхронизации при итерациях, примерно так:
Код: java
1.
2.
3.
4.
5.
6.
List elements = new ArrayList();
synchronized (elements) {
    for (Object element : elements) {

    }
}
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Thread и ArrayList
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]