Friday, 28 January 2011

Slides on Java concurrency from CHUG

Yesterday, the Clojure Houston User Group (CHUG) met to discuss the concurrency models provided by different programming languages, namely Erlang, Go, Java, and Scala. As usual, the meeting lasted long into the evening with lively conversation. In particular, I was quite interested in learning more about Erlang and Scala—two languages I have been considering learning for some time.

I presented on the concurrency tools available in Java, briefly talking about the following key topics:

  • Task management using the Executor framework
  • State management using atomic variables and concurrency-aware collections
  • Task coordination using locks and synchronizers
  • A preview of things to come in Java 7

While my presentation was by no means exhaustive, I hope that it served to introduce people to the rich set of tools available in Java for writing concurrent applications. For more comprehensive resources, try:

The slides for my presentation are available here, and the source code to the demos is available via Github.