Skip to content

Latest commit

 

History

History
16 lines (11 loc) · 1.18 KB

23_condition.md

File metadata and controls

16 lines (11 loc) · 1.18 KB

23. Condition

Рассмотрим интерфейс Condition из пакета java.util.concurrent.locks.

Начнем с постановки задачи: реализовать класс BoundedBuffer экземпляры которого будут представлять собой коллекцию. Коллекция ограничена (емкость задается). Работа с экземплярами класса должна быть потокобезопасна. Когда пытаемся достать элемент из пустого буффера поток должен ждать появления элемента в коллекции. Если какой-то поток пытается положить элемент в полный буфер, то поток должен ждать пока не появится свободное место. Доступ к элементам осуществляется по принципу LIFO.

1_buffer

Пример реализации доступен здесь.

Поиграйтесь с TimeUnit.SECONDS.sleep в Main классе