@synapse_people

Как реализовать лок на несколько объектов сразу?

Есть много инстансов одного класса, который по факту просто служит контейнером для компонентов.
т.е. класс IEntity с методом getComp(...), на котором находятся всякие POJO.
Задача реализовать такой лок, чтобы можно было одновременно получить лок на 2 и более таких объектов...
То есть, например, добавляется класс ILock с методами addEntity(IEntity ent), lock/unlock.
Далее используется так: сначала добавляются объекты, на которые необходимо одномоментно получить лок и вызывается метод lock. При этом, если лок на хотя бы 1 объект уже захватили, то новый лок должен ждать до тех пор, пока его не освободят.
Какие идеи?
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Создаёте java.util.concurrent.locks.Lock, передаёте его в конструктор объектов, которые нужно блокировать, в методах объектов осуществляете попытки его захвата.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы