JavaRush/Помощь по Java задачам/Почему Геттер GetByName должен быть синхронизированным.Кирилл23 уровень25.09.20191276просмотров3комментариевПочему Геттер GetByName должен быть синхронизированным.Вопрос по задаче ApplicationContext Java Core, 7 уровень, 10 лекция Решен Решил,но есть вопрос!Почему Геттер GetByName должен быть синхронизированным.Как геттер может изменять ресурсы.УсловиеДерево классов ApplicationContext будет доступен множеству нитей. Сделать так, чтобы данные не терялись: подумай, какое ключевое слово необходимо поставить и где. Требования:Класс ApplicationContext должен быть абстрактным.Класс ApplicationContext должен содержать private поле container типа Map<String, GenericsBean>.В getByName(String name), если необходимо, используй synchronized.В removeByName(String name), если необходимо, используй synchronized.com.javarush.task.task17.task1719Bean.javaApplicationContext.javaBean.java package com.javarush.task.task17.task1719; public interface Bean { // это интерфейс-маркер } +2 Комментарии (3) популярныеновыестарыеДля того, чтобы оставить комментарий Вы должны авторизоватьсяАлександрУровень 41Expert25 сентября 2019, 20:55решениенапример, другой поток может параллельно удалять из контейнера элемент, который геттер пытается получить. +31 VadimayerУровень 4018 сентября 2021, 13:13это касается абсолютно всех геттеров? Или есть исключения? 0 ГоффУровень 3Master18 сентября 2021, 13:51Абсолютно всех, но, возможно, есть исключения =) +2