Improvements in processor speed have come on the back of Moore's law like clockwork, but more recently 'cores' have become the latest addition to processors. This entry explores how Java 7 will address such changes using the fork-join framework.
As multiprocessor systems started to become cheaper, more applications needed to exploit the hardware parallelism they provided, and programmers found that writing concurrent programs using the low-level primitives provided by the language and class library was difficult and error-prone. In Java 5, the java.util.concurrent package was added to the Java platform, providing a set of useful components for building concurrent applications: concurrent collections, queues, semaphores, latches, thread pools, and so on.
One of the additions to the java.util.concurrent packages coming in Java™ 7 is a framework for fork-join style parallel decomposition. The fork-join abstraction provides a natural mechanism for decomposing many algorithms to effectively exploit hardware parallelism.
Read Brain Goetz complete post on the fork-join framework: