Java – What’s the upcoming Java concurrency library: jsr166y? jsr166z


I wanted to play around with the upcoming concurrency library which
is going to be included in
Java 7 according to this website.

It seems to be named JSR166.

In most places its reference implementation is referred as jsr166y,
while few resources call it jsr166z.

I discovered two totally different javadocs for each reference implementation.

Now, which implementation is going to be included in Java 7?

While people who answered suggest that jsr166y is the thing for Java 7,
I discovered this document (TS-5515) from JavaOne.
This document refers to Java 7 but mentions LinkedAsyncAction
which is only present in jsr166z javadocs. (Confusion…)

Best Solution

JSR 166 was the original Java concurrency jsr for Java 5 that created java.util.concurrent. They did a maintenance rev in Java 6 called JSR 166x. The Java 7 maintenance rev is JSR 166y. JSR 166z is the closures prototype version.

Currently slated to be included in JSR 166y is:

  • Fork/join (but NOT the ParallelArray framework)
  • TransferQueue / LinkedTransferQueue collection
  • Phasers (CyclicBarriers on steroids)

Push to JDK 8 (at least):

  • Fences API (low level), trying to remove use of Unsafe calls
  • ConcurrentReferenceHashMap (variable strong/weak refs, concurrent, etc)

For more info, javadoc here or join the concurrency-interest mailing list: