Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.08.2016, 14:54   #191
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

могут ли потоки одновременно обращаться к методам списка ?
RAFA91 вне форума
Старый 16.08.2016, 15:01   #192
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в случае
Код:
new ArrayList<String>()
нет.
в случае
Код:
List<String> list = Collections.synchronizedList(new ArrayList<String>());
могут.

важен не тип переменной, а что внутри лежит.
или вы забыли основы наследования?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 16.08.2016, 15:02   #193
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

зачем тут list заворачивают в синхр. блок ?


Код:
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list) {
    Iterator i = list.iterator(); /
    while (i.hasNext())
        foo(i.next());   
}
RAFA91 вне форума
Старый 16.08.2016, 15:05   #194
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

из-за того что перечисление всего списка может быт довольно долгой операцией, чтоб никто не вклинился за это время.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 16.08.2016, 15:14   #195
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Код:
ist<String> list = Collections.synchronizedList(new ArrayList<String>());

каким боком ]ist<String> list имеет синхронизированные методы ?

где этот интерфейс ?
RAFA91 вне форума
Старый 16.08.2016, 15:16   #196
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а List<String> тут не причем, это тип переменной, но не тип объекта в ней.
у вас разве написано
Код:
List<String> lst=new List<String>()
?

помним про виртуальность методов и наследование.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 16.08.2016 в 15:19.
Пепел Феникса вне форума
Старый 16.08.2016, 15:19   #197
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

каким боком list имеет синхронизированные методы после выполнения

ist<String> list = Collections.synchronizedList(new ArrayList<String>());?

есть ли наглядное подтверждение этого ?
RAFA91 вне форума
Старый 16.08.2016, 15:23   #198
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

почитайте что делает Collections.synchronizedList.

и повторю, у вас в переменной list лежит наследник от List<>, а не сам List<>.
(можете это легко проверить через list.getClass().getName() что вернет вам строку)
Цитата:
есть ли наглядное подтверждение этого ?
ну можете декомпилировать
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 16.08.2016, 15:27   #199
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

каким боком list имеет синхронизированные методы после выполнения

ist<String> list = Collections.synchronizedList(new ArrayList<String>());?

есть ли наглядное подтверждение этого В ВИДЕ КОДА?


синхронизацию имеет вектор.
RAFA91 вне форума
Старый 16.08.2016, 15:29   #200
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

https://docs.oracle.com/javase/7/doc...ava.util.List)

Цитата:
синхронизацию имеет вектор.
а он здесь причем? или опять начинаете прыгать?
p51x вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждение Windows8 Artem Gaskov Windows 59 19.07.2013 17:54
Обсуждение всех OS Artem Gaskov Операционные системы общие вопросы 4 01.02.2013 14:56
Обсуждение ОС GBAXA Операционные системы общие вопросы 7 17.08.2010 11:52
WebBrowser на обсуждение SibBear Софт 5 30.03.2009 12:10