GPars Concurrency Framework

06 February 2013 - David Clark

Abstract

We will take a look at the GPars concurrency framework. GPars, or something like it, is most likely the future of concurrent/multi-threaded programming on the JVM. It provides a lot of reusable abstractions for designing, architecting, and building concurrent applications. We will take a look at the following features/frameworks that GPars provides: asynchronous functions, dataflow concurrency, actors, fork/join, and concurrent collections. We will take a look at examples for each of these and discuss the reasons you might choose one or the other of these features. If you would like to follow along and play with the code, please bring your laptop. The code is designed to work with Groovy 2 and Java 7, but with some minor changes will also work with Groovy 1.8 and Java 6.

Bio

David Clark is a software developer since 1999. He has been using Java since 2005 and Groovy since version 1.0. He has mostly worked in the financial industry and currently works for a small company which makes business loans, where his software manages the entire loan process from application to funding. Prior to 2005 he mostly worked with Microsoft technologies in the financial industry. His main interests in software are in the areas of security, multi-threaded/concurrent programming, and new languages (like Groovy) that make his life easier.