We have reached the final chapter of the book, where we will discuss a couple of patterns with concurrent structures. We will explain every step in detail so you can follow the examples carefully.
The idea is to learn about patterns to design concurrent applications in idiomatic Go. We are using channels and Goroutines heavily, instead of locks or sharing variables.
We will look at one way to develop a pool of workers. This is useful to control the number of Goroutines in an execution.
The second example is a rewrite of the Observer pattern, which we saw on Chapter 7, Behavioral Patterns - Visitor, State, Mediator, and Observer Design Patterns, written with a concurrent structure. With this example we'll dig a bit more into the concurrent structures and look at how they can differ from a common approach.