У меня есть цикл, который я хочу запустить параллельно, чтобы создать очередь, содержащую несколько тысяч объектов.
Очередь создается из списка, в котором выполняется функция ParallelStream(). и я хотел бы добавить элементы в окончательную очередь.
Я пробовал очереди.add и очередь.offer, и оба создают исключение java.util.ConcurrentModificationException.
Как я могу добавлять элементы в ConcurrentLinkedQueue параллельно?
Код очень похож на этот
List sourceList = new List();
// sourceList has about 1000 entries
Queue queue = new ConcurrentLinkedQueue();
sourceList.parallelStream().forEach( itemList -> {
MyType myObject = new MyType;
myObject.setProperty(itemList.getWantedProperty);
// Using queue.add or queue.offer produces the same error
queue.offer(myObject)
queue.add(myObject)
});
Подробнее здесь: https://stackoverflow.com/questions/785 ... currentlin
Получение исключения 'java.util.ConcurrentModificationException с использованием ConcurrentLinkedQueue ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Фатальное исключение: java.util.ConcurrentModificationException [закрыто]
Anonymous » » в форуме Android - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-