Divide and Conquer

Using Java 7's fork-join framework to develop multicore-friendly software

Wolf Schlegel

ThoughtWorks Deutschland GmbH

Fabian Köhler

T03 Montag, 5. 9., 09:40 – 18:30 Uhr Tutorium Java Mo en

In order to gain performance improvements from multicore processors, software needs to use multiple threads or multiple processes. With the fork-join framework, Java 7 introduces an addition to the Java concurrency package that supports parallel programming in Java. When developing software using a parallel framework, the resulting design is likely to differ from a solution that has been developed in a single-threaded style.

This tutorial explores how parallel programming affects the design of software. It also allows participants to reflect on the impact of parallel programming on unit testing and test driven development. After an introduction into the new concurrency classes coming with Java 7, participants work on three exercises. One of the exercises is about refactoring an existing single-threaded design to take advantage of the fork-join framework. Benefits of participating Participants will gain hands-on experience with Java's new fork-join framework and understand its impact on unit testing and test driven development.