Size: a a a

2020 November 27

DB

Dmitry Babushkin in pro.net
Это как-то снижает вероятность ошибки? :)
источник

AH

Ayrat Hudaygulov in pro.net
Dmitry Babushkin
Это как-то снижает вероятность ошибки? :)
нинасколько, согласен
источник

DB

Dmitry Babushkin in pro.net
А, тогда да, ты совершенно прав. :)
источник

AH

Ayrat Hudaygulov in pro.net
они должны были сделать кастомный тредсейф енумератор
источник

AH

Ayrat Hudaygulov in pro.net
чтобы при вызове линку методов енумерация была тредсейф
источник

DB

Dmitry Babushkin in pro.net
А там не в энумераторе дело. Он ICollection
источник

DB

Dmitry Babushkin in pro.net
Это бага в конструкторе List<T>
источник

DB

Dmitry Babushkin in pro.net
Он вначале получает Count, а затем вызывает CopyTo. Не атомарно.
источник

DB

Dmitry Babushkin in pro.net
В общем, кажется, было большой ошибкой вешать ICollection на ConcurrentDictionary. :(
источник

AH

Ayrat Hudaygulov in pro.net
а вот были бы тайпклассы
источник

DB

Dmitry Babushkin in pro.net
Эх. :С
источник

I

IdiocyAcceptance in pro.net
Dmitry Babushkin
Это бага в конструкторе List<T>
почему бага? С какой стати изначально не тредсейф коллекция (List<T>) должна вдруг иметь абсолютно тредсейф конструктор, принимающий ЛЮБУЮ коллекцию
источник

I

IdiocyAcceptance in pro.net
like wtf
источник

AT

Alexey Tkachenko in pro.net
IdiocyAcceptance
почему бага? С какой стати изначально не тредсейф коллекция (List<T>) должна вдруг иметь абсолютно тредсейф конструктор, принимающий ЛЮБУЮ коллекцию
а в чём проблема?
источник

DB

Dmitry Babushkin in pro.net
IdiocyAcceptance
почему бага? С какой стати изначально не тредсейф коллекция (List<T>) должна вдруг иметь абсолютно тредсейф конструктор, принимающий ЛЮБУЮ коллекцию
Потому что она примнимает
public List(IEnumerable<T> collection)
источник

AT

Alexey Tkachenko in pro.net
конструктор итерируется по коллекции и утаскивает её себе копию, при этом существует в виде объекта в памяти, который существует ровно в одном потоке и ссылки на которые ещё не расползлись невесть куда
источник

I

IdiocyAcceptance in pro.net
Проблема в том, что прямо во время копирования коллекция может измениться
источник

AT

Alexey Tkachenko in pro.net
это проблема потокобезопасности исходной коллекции, а не листа
источник

DB

Dmitry Babushkin in pro.net
IdiocyAcceptance
Проблема в том, что прямо во время копирования коллекция может измениться
Итератор остаётся валидным.
источник

DB

Dmitry Babushkin in pro.net
Alexey Tkachenko
это проблема потокобезопасности исходной коллекции, а не листа
Листа.
источник