Strange Loop

Concurrency Options on the JVM

A careful design lets you write a concurrent application without thinking about deadlock or synchronization. Getting to that design takes a lot of thinking. This session delivers the background you need to make good decisions about concurrency tools. You’ll learn what’s available in Java, including how to tune an ExecutorService for your threading needs. After that, learn how this impacts higher-level abstractions in JVM languages: choose from various Futures, Scala's akka actors, and Clojure's core.async coroutines. Whether you’re working in pure Java or the best concurrency models the JVM has to offer, this session will help you make design decisions that keep your code deadlock-free.

Jessica Kerr

Jessica Kerr


Jessica Kerr is a Java turned Scala turned Clojure developer, with forays into Ruby. She works for Outpace, speaks at conferences here and in Europe, blogs, tweets, and encourages two daughters to question her authority.