Size: a a a

2020 October 13

M

Maksat in Astana JKUG
ArrayList это же стандартная библиотека Java, я не могу ее реализацию изменить
источник

DK

Darmen Kamel in Astana JKUG
Maksat
ArrayList это же стандартная библиотека Java, я не могу ее реализацию изменить
List<?> = new CopyOnWriteArrayList<>();
источник

N

Nurba in Astana JKUG
Maksat
okay, спс
но причем AtomicInteger не понял
инкримент ++ в Java не одна операция, а несколько, в плане потоков. А AtomicInteger, с методом getAndIncrement() считается одной операцией для потока
источник

N

Nurba in Astana JKUG
простыми словами
источник

TN

Timur Nurmagambetov in Astana JKUG
Maksat
если в один List добавляются элементы несколькими потоками, то могут быть траблы?
У меня получается что этот List содержит null-элементы, хотя я 100% не ложу туда null-ы
да, это не потокобезопасно
CopyOnWriteArrayList медленный на запись, стоит учесть если производительность важна
городить свою реализацию с AtomicInteger я бы не стал, легко допустить ошибку. есть много других способов
источник

S

Sayat in Astana JKUG
Укажи метод как synchronized и записывай в обычный List
источник

ES

Eugene Svalukhin in Astana JKUG
Почищено
источник

ES

Eugene Svalukhin in Astana JKUG
@talapbay ваше сообщение удалено
источник

M

Maksat in Astana JKUG
Sayat
Укажи метод как synchronized и записывай в обычный List
Не самое оптимальное решение
источник

ES

Eugene Svalukhin in Astana JKUG
А тебе доступ нужен по индексам?
источник

ZB

Zhuragat Bolatkhan in Astana JKUG
Maksat
если в один List добавляются элементы несколькими потоками, то могут быть траблы?
У меня получается что этот List содержит null-элементы, хотя я 100% не ложу туда null-ы
источник

M

Maksat in Astana JKUG
Eugene Svalukhin
А тебе доступ нужен по индексам?
нет, сначала add, потом for-each
источник

ES

Eugene Svalukhin in Astana JKUG
Ну тогда linked list
источник

M

Maksat in Astana JKUG
🤔
источник

ES

Eugene Svalukhin in Astana JKUG
Ну и да, возможно тебе нужен не лист a queue
источник

KU

Karim Ulzhabayev in Astana JKUG
А если синхронизироваться перед методом list.add
источник

M

Maksat in Astana JKUG
Karim Ulzhabayev
А если синхронизироваться перед методом list.add
можно. Но все же не самое оптимальное решение
источник

M

Maksat in Astana JKUG
но лучше я еще не нашел )
источник

K

Khamit in Astana JKUG
Если for each будет в конце, то пусть каждый поток готовит свой лист. в конце объедини все. если порядок важен, то к каждому элементу присвой current mills потом сортировка
источник

M

Maksat in Astana JKUG
все ответили, с кем когда-то работал/работаю )
спасибо всем

решил остановиться на ArrayBlockingQueue
источник