Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен / 6 сообщений из 6, страница 1 из 1
31.03.2016, 16:19
    #39205270
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен
Ппавильно ли я понимаю, что я CopyOnWriteArrrayList нельзя добавить больше одного элемента в один момент времени?

допустим добавление в CopyOnWriteArrrayList занимает час.

Если мы начали добавлять элемент в 13-00, в 13-05 пришёл запрос на добавление ещё одного элемента.
Верно ли, что первый элемент добавится в 14-00, а второй в 15-00 ?
...
Рейтинг: 0 / 0
31.03.2016, 16:58
    #39205318
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен
questioner,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  public boolean add(E e) {
         final ReentrantLock lock = this.lock;
         lock.lock();
         try {
             Object[] elements = getArray();
             int len = elements.length;
             Object[] newElements = Arrays.copyOf(elements, len + 1);
             newElements[len] = e;
             setArray(newElements);
             return true;
         } finally {
             lock.unlock();
         }
     }
...
Рейтинг: 0 / 0
31.03.2016, 17:05
    #39205332
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен
questionerнельзя добавить больше одного элемента в один момент времени?Почему нельзя ? Можно сразу оптом (:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public boolean addAll(Collection<? extends E> c) {
    Object[] cs = (c.getClass() == CopyOnWriteArrayList.class) ?
        ((CopyOnWriteArrayList<?>)c).getArray() : c.toArray();
    if (cs.length == 0)
        return false;
    final ReentrantLock lock = this.lock;
    lock.lock();
    try {
        Object[] elements = getArray();
        int len = elements.length;
        if (len == 0 && cs.getClass() == Object[].class)
            setArray(cs);
        else {
            Object[] newElements = Arrays.copyOf(elements, len + cs.length);
            System.arraycopy(cs, 0, newElements, len, cs.length);
            setArray(newElements);
        }
        return true;
    } finally {
        lock.unlock();
    }
}
...
Рейтинг: 0 / 0
31.03.2016, 17:48
    #39205385
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен
Usman,

а ты целиком вопрос дочитал?
...
Рейтинг: 0 / 0
31.03.2016, 18:05
    #39205399
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен
questionerUsman,

а ты целиком вопрос дочитал?Конечно дочитал. А ты оговорку в моем ответе прочитал ?
...
Рейтинг: 0 / 0
31.03.2016, 18:58
    #39205421
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен
UsmanquestionerUsman,

а ты целиком вопрос дочитал?Конечно дочитал. А ты оговорку в моем ответе прочитал ?

Прочитал.

Я ожидал ответа да или нет)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли в CopyOnWriteArrayList добавить несколько элементов в один и тот же момент времен / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]