Pure Danger Tech


JSR 166…keeps going and going

10 Jun 2007

I happened to run across a post by Doug Lea in the JSR 294 mailing list this weekend that mentioned he had been hard at work on a new concurrency framework for Java 7. I contacted Doug and he pointed me at the JSR 166 page.

JSR 166 was responsible for adding Doug’s concurrency frameworks to Java 5 and apparently they continue to do work for new JDKs as RFEs under the JSR 166 umbrella. That was how the Dequeue support was added to Java 6. In Java 7, they are adding a new TransferQueue subinterface of Blocking Queue where producers can wait for consumers to consume elements. This is particularly useful in message-passing applications. They also are including an implementation LinkedTransferQueue.

In addition, they are adding a whole new parallel computation framework in the forkjoin package. This framework is designed to efficiently solve divide-and-conquer problems in a way that will scale nicely on multi-core systems. The entry-point for this framework is the ForkJoinPool if you want to check it out.

There is no published info on this that I’ve found but there is a lot of info in the JSR 166 mailing list if you want to know more. It sounds like this is still a work in progress so the API and implementation are not yet finalized and still being worked out.