2012-04-06 4 views
2

Я хочу барьер с динамическим количеством партий в java. Я столкнулся с Phaser, но это решение для java 7, которое, к сожалению, я не могу использовать.барьер с динамическим числом сторон в java

Есть ли какое-то решение для java 6. Как я должен удовлетворять потребность в наличии барьера с переменным количеством официантов?

ответ

1

Вы действительно хотите использовать Phaser. Существует резерв для Phaser, который вы можете использовать в Java 6. Загрузить его с JSR 166y backport

+0

Я написал реализацию, которая, кажется, отлично работает для моего дела. В случае, если есть какая-то проблема, я поеду с указанным вами бэкпортом. Большое спасибо. – Neal

+0

Трудно писать! И еще сложнее поддерживать. Иногда это платит за безопасность! –

0

А как насчет CyclicBarrier?

, как сказано в Phaser:

похожи по функциональности CyclicBarrier и CountDownLatch, но поддерживает более гибкое использование.

Есть ли какая-то функциональность, в которой вы нуждаетесь, что отсутствует в этих классах?

Edit: Через некоторое Googling я не вижу что-то вроде этого, Не знаю, насколько сложна ваши проблемы, и как вы должны синхронизировать все элементы в барьере, но вы можете реализовать некоторые простые стороны синхронизации с иерархия CyclicBarrier

+0

Нет, вопрос указывает на наличие переменного количества сторон на барьере, которое CyclicBarrier не поддерживает, и Phaser делает это. – Neal

+0

О, почему-то я думал, что у CyclicBarrier это, извините. см. мое редактирование. – shem

+0

Видел ваше редактирование, но как именно это помогает. :) – Neal