This chapter covers
- Making concurrency more approachable with Groovy
- Using different types of task coordination
- Putting these concepts to work with the GPars library
The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.
Edsger Dijkstra
How do we tell truths that might hurt? Published as part of Selected Writings on Computing: A Personal Perspective, Springer-Verlag, 1982.
We’ll start our exploration with general considerations about concurrency followed by moving from the simple to the more advanced usages of concurrency. We’ll visit waypoints that show various means of coordinating concurrent tasks, from predefined coordination to implicit and explicit control. We’ll move on to investigate how to safeguard objects in a concurrent environment and wrap up the topic with a final showcase. But let’s start by considering why we might want to enter this challenging landscape in the first place.