2012-04-06 6 views
2

Ich möchte eine Barriere mit einer dynamischen Anzahl von Parteien in Java. Ich bin auf Phaser gestoßen, aber diese Lösung ist für Java 7, die ich leider nicht benutzen kann.Barriere mit dynamischer Anzahl von Parteien in Java

Gibt es eine Lösung für Java 6. Wie sollte ich die Notwendigkeit einer Barriere mit einer variablen Anzahl von Kellnern befriedigen?

Antwort

1

Sie möchten wirklich einen Phaser verwenden. Es gibt einen Backport für Phaser, den Sie in Java 6 verwenden können. Download von JSR 166y backport

+0

Ich habe eine Implementierung geschrieben, die für meinen Fall gut zu funktionieren scheint. Falls es ein Problem gibt, werde ich mit dem Backport gehen, den du erwähnt hast. Danke vielmals. – Neal

+0

Das ist schwer zu schreiben! Und noch schwerer zu pflegen. Manchmal zahlt es sich aus, sicher zu sein! –

0

Was ist mit CyclicBarrier?

wie gesagt in Phaser:

ähnlich in der Funktionalität CyclicBarrier und CountDownLatch aber flexiblere Nutzung unterstützen.

Gibt es einige Funktionen, die in diesen Klassen fehlen?

Edit: Nach einigen googeln ich so etwas wie dies nicht sehen, Sie wissen nicht, wie kompliziert das Problem, und wie sollten Sie alle Ihre Mitglieder in die Barriere synchronisiert, aber Sie können einige einfache Parteien implementieren synchronisieren mit Hierarchie von CyclicBarrier

+0

Nein, die Frage zeigt eine variable Anzahl von Parteien auf der Barriere, die CyclicBarrier nicht unterstützt und Phaser tut. – Neal

+0

Oh, aus irgendeinem Grund dachte ich CyclicBarrier, sorry. Siehe meine Bearbeitung. – shem

+0

Sah deine Bearbeitung, aber wie genau hilft das. :) – Neal

Verwandte Themen