A single conversation with a wise man is better than ten years of study.
~ Chinese Proverb ~

Workshop: Exploring parallel programming in Java

Wolf Schlegel

Download slides

One-line description

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

Session format

Tutorial (180 mins)

Abstract

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 session 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.

Audience background

Participants should have a working knowledge of Java and come along with Java 7 installed on their machines.

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.

Process

After an introduction into the new Java concurrency classes, participants form small groups or pairs to explore the exercises collaboratively.

Detailed timetable

00:00 - 00:30 : Introduction into Java 7's fork-join framework

00:30 - 01:00 : Installing Java 7 and the exercises

01:00 - 01:45 : Exercise 1

01:45 - 02:00 : Break

02:00 - 02:45 : Exercise 2

02:45 - 03:00 : Participants discuss their solutions and share observations

More talks