2009-04-15 5 views
9

Ich wollte mit der kommenden Concurrency-Bibliothek herumspielen, die in
Java 7 nach this website enthalten wird.Was ist die kommende Java-Concurrency-Bibliothek: jsr166y? jsr166z?

Es scheint JSR166 benannt zu sein.

In den meisten Orten seiner Referenzimplementierung als jsr166y bezeichnet, während wenige Ressourcen nennen jsr166z.

Ich entdeckte zwei völlig verschiedene Javadocs für jede Referenzimplementierung.

Nun, die Umsetzung wird in Java 7 aufgenommen werden?

EDIT
Während Menschen, die beantwortet legen nahe, dass jsr166y die Sache ist für Java 7, ich this document (TS-5515) von JavaOne entdeckt. Dieses Dokument bezieht sich auf Java 7, erwähnt aber LinkedAsyncAction , das nur in jsr166z javadocs vorhanden ist. (Confusion ...)

+0

Hinweis: Das Dokument, das Sie sagt auch beziehen sich auf ausdrücklich jsr166y herunterladen - auf Folie 14. – Eddie

+0

jsr166y doc-Verknüpfung ist unterbrochen. –

Antwort

11

JSR 166 war die ursprüngliche Java-Parallelität jsr für Java 5, die java.util.concurrent erstellte. Sie haben eine Wartung Rev in Java 6 namens JSR 166x. Die Java 7 Wartungsversion ist JSR 166y. JSR 166z ist die Prototypversion der Verschlüsse.

Derzeit geplant, um in JSR 166Y enthalten ist:

  • Fork/Join (aber nicht die ParallelArray Rahmen)
  • TransferQueue/LinkedTransferQueue Sammlung
  • Phasers (CyclicBarriers auf Steroiden)

Drücken Sie auf JDK 8 (mindestens):

  • Zäune API (Low-Pegel), ruft
  • ConcurrentReferenceHashMap (variable stark/schwach Refs, gleichzeitige, etc)

Für mehr Informationen, javadoc here oder du die Concurrency-Interesse Mailing-Liste Verwendung von Unsichere zu entfernen versuchen, :

+0

Also das herunterladbare JSR166y JAR ist einfach noch nicht fertig, oder? –

+0

Wahrscheinlich nicht. Ich denke, das Glas enthält möglicherweise nur das ForkJoin-Zeug. –

+0

FYI Doc Link für Jsr166y ist kaputt. –

3

Der Link auf der Website javac.info (jsr166z) verwendet BGGA-Verschlüsse, die nicht in JDK7 enthalten sind.

Der Link auf der Website von Doug Lea (jsr166y) sollte aktuell sein. Doug ist die Spezalleitung. Die API wurde auf die Grundlagen reduziert, da noch nicht klar ist, wie das Fork-Join-Framework in der Praxis verwendet wird. Vermutlich werden Bibliotheken auf einer etwas höheren Ebene verfügbar sein, und wenn sich die Sache beruhigt, kann mehr zu JDK8 hinzugefügt werden.

2

Betrachtet man verschiedene verfügbare Referenzen (zum Beispiel this Email von Doug Lea), scheint es klar, dass der aktuelle JSR für JDK7 Nebenläufigkeit Ergänzungen jsr166y ist. Wenn Sie auf die Webseite Closures for the Java Programming Language (aka BGGA) gehen und (was gerade der vierte Punkt "Doug Leas jsr166y fork-join framework" ist), wird jsr166y als das fork-join-Framework "ohne Funktionstypen" beschrieben und jsr166z wird beschrieben als Fork-Join-Framework "mit Funktionstypen."

Es sieht aus wie jsr166z ist eine Kreuzung zwischen Nebenläufigkeit Ergänzungen und BGGA. Vielleicht bietet dies Nebenläufigkeit Dienstprogramme von BGGA benötigt?

+0

BGGA erfordert diese Nebenläufigkeitsergänzungen nicht. Das Design der zusätzlichen Ergänzungen könnte durch die Art von Schließungen beeinflusst werden, die wir über anonyme innere Klassen hinaus erhalten. –