Реализация списка блокировки Java ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Реализация списка блокировки Java

Сообщение Anonymous »

Я искал ответ на этот вопрос в SO и Google, но пока не смог найти подходящего решения.
Сейчас я работаю над LayerManager для решения проблемы маршрутизации графов. . Менеджер отвечает за предоставление и сброс фиксированного набора слоев.
Я хотел реализовать шаблон Consumer-Producer со списком блокировки, чтобы входящие запросы маршрутизации блокировались до тех пор, пока нет свободных слой доступен. Пока что я нашел только блокирующую очередь, но поскольку нам не нужен FIFO, LIFO, а произвольный доступ, очередь не работает. Если быть немного точнее, то должно быть возможно что-то вроде этого:

Код: Выделить всё

/* this should be blocking until a layer becomes available */
public Layer getLayer() {
for (Layer layer : layers) {
if (layer.isUnused() && layer.matches(request))
return layers.pop(layer);
}
}
Есть ли способ добиться этого?

Подробнее здесь: https://stackoverflow.com/questions/298 ... ementation

Вернуться в «JAVA»