What’s New for Concurrency in Java SE 8?

Java SE 8 Java logo was officially released yesterday (March 18th) and given the fact that Java 7 was released back in 2012, there are definitely lots of updates and new features. These updates include improvements to the Java language itself, Java security, Java tools and more. Although a lot of these updates are interesting and important I am specifically interesting in exploring: What’s new for concurrency?

Based on the release notes the concurrency-related additions are: Continue reading

Good Resources for Learning to Program with Concurrency

With the increase in multicore processors there has been an increase in demand for concurrent programming and an increase in books and resources that focus on programming with concurrency. Below I will outline some of the books on my own bookshelf that have been useful.
Continue reading

Static Analysis Tools for Concurrency

Humans and Concurrency


“…humans are quickly overwhelmed by concurrency and find it much more difficult to reason about concurrent than sequential code. Even careful people miss possible interleavings…”

– Herb Sutter & James Larus, Microsoft. Software and the concurrency revolution. Queue, 3(7):54–62, 2005.


Software Testing Tools for Concurrency

As the use of concurrency in software increases there are more software testing tools being developed in both industry an academia. Below is a fairly comprehensive list of tools (mainly for Java):
  • ConTest – IBM concurrent testing tool that inserts random delays into Java bytecode
  • ConAn – a thread testing tool for Java
  • CHESS – a Microsoft tool for concurrent testing in Visual Studio
  • CalFuzzer – an active testing framework
  • ConMAn – mutation testing tool for concurrent programs written in Java
  • Continue reading