Получение исключения 'java.util.ConcurrentModificationException с использованием ConcurrentLinkedQueueJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получение исключения 'java.util.ConcurrentModificationException с использованием ConcurrentLinkedQueue

Сообщение Anonymous »

У меня есть цикл, который я хочу запустить параллельно, чтобы создать очередь, содержащую несколько тысяч объектов.
Очередь создается из списка, в котором выполняется функция 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»