Adverts
With the rise of multi-core processors concurrency is becoming a hot topic. Many applications that once probably only ever had access to a single processor now have access to two or more processor cores. There may be work that the application can carry out simultaneously that can provide a better user experience. For this reason it is worth investing the time necessary to learn ho to develop concurrent software.
The problem with concurrency is that it is frighteningly easy to screw up and produce bugs that only show their ugly heads in production and a are exceedingly difficult to track down. With some forethought and knowledge, however, it is possible to write code that is correct and takes advantage of concurrent execution.
This section of the site aims to give you an understanding of concurrency in Java by providing examples of concurrency in action. Each mini-application shows off one or more of the tools available to you. Threads have been part of Java since the start but until Java 5 there wasn't really any good concurrency tools in the core libraries. Java 5 introduced java.util.concurrent which has greatly simplified concurrent development. Java 6 builds on these tools and rounds out a fine selection of basic building blocks. For the most part this section relies on you having Java 5 installed but some pages require Java 6. I've made no effort to remain backwardly compatible with any version of Java before 5 simply because concurrent programming was just to much like hard work before Java 5.
I hope you enjoy this section. If you have any comments please get in touch.