Go Concurrency Primitives
This chapter is about the fundamental concurrency facilities of the Go language. We will first talk about goroutines and channels, the two concurrency building blocks that are defined by the language. Then, we also look at some of the concurrency utilities that are included in the standard library. We will cover the following topics:
- Goroutines
- Channels and the
select
statement - Mutexes
- Wait groups
- Condition variables
By the end of this chapter, you will have enough under your belt to tackle basic concurrency problems using language features and standard library objects.