Выполнение действия List Коллекция была изменена; невозможно выполнить операцию перечисления

LiderIT

Client
Регистрация
21.10.2017
Сообщения
122
Благодарностей
14
Баллы
18
Добрый день, шаблое парсит на пост гет - когда ставлю больше 5 потоков выдает часто - Выполнение действия List Коллекция была изменена; невозможно выполнить операцию перечисления.

Как Сделать чтобы такого небыло?

Ошибка происходит при удалении дублей из списка, попробовал убрать етот кубик, посмотрим
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
Добрый день, шаблое парсит на пост гет - когда ставлю больше 5 потоков выдает часто - Выполнение действия List Коллекция была изменена; невозможно выполнить операцию перечисления.

Как Сделать чтобы такого небыло?

Ошибка происходит при удалении дублей из списка, попробовал убрать етот кубик, посмотрим
Если я верно понимаю - слишком частое обращение в список - в результате чего возникает ошибка.Попробуйте использовать рандомную паузу перед обращением в список.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
такое может быть, если в шаблоне (шаблонах) есть участок кода, который делает какие-то изменения в этом списке без блокировок. Если кода нет - 100% баг. Но такой баг бы вылез у многих и давно с учётом простоты сценария его вызова. Поэтому я всё же склоняюсь, что где-то есть проблемный код.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
такое может вылезти - если в foreach колекции - удалять элементы
 
  • Спасибо
Реакции: tanichev

tanichev

Client
Регистрация
14.08.2020
Сообщения
654
Благодарностей
761
Баллы
93
такое может вылезти - если в foreach колекции - удалять элементы
в конструкции where, при сравнении текста из переменной с каждой строкой списка, тоже вылетает эта ошибка, при этом в списке 29кк строк. Когда разбиваешь на множество списков - ошибка эта пропадает, до 100-200 потоков.

Но по факту, если добавляешь лок, то все работает, но вот скорость дико падает.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)