This chapter will be about concurrency patterns and how to use them to build robust system applications. We have already looked at all the tools that are involved in concurrency (goroutines and channels, sync and atomic, and context) so now we will look at some common ways of combining them in patterns so that we can use them in our programs.
The following topics will be covered in this chapter:
- Beginning with generators
- Sequencing with pipelines
- Muxing and demuxing
- Other patterns
- Resource leaking