Refreshing Concurrency and Parallelism
This chapter will explore goroutines at the core of Go’s concurrency. You will learn how they function, distinguish between concurrency and parallelism, manage currently running goroutines, handle data race issues, use channels for communication, and use Channel
states and signaling to maximize their potential. Mastering these concepts is essential to write efficient and error-free Go code.
In this chapter, we’re going to cover the following main topics:
- Understanding goroutines
- Managing data races
- Making sense of channels
- The guarantee of delivery
- State and signaling