Concurrency can be notoriously difficult to get right, but fortunately, the Go open source programming language makes working with concurrency tractable and even easy. If you’re a developer familiar with Go, this practical book demonstrates best practices and patterns to help you incorporate concurrency into your systems.
Author Katherine Cox-Buday takes you step-by-step through the process. You’ll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems. Learn the skills and tooling you need to confidently write and implement concurrent systems of any size.
- Understand how Go addresses fundamental problems that make concurrency difficult to do correctly
- Learn the key differences between concurrency and parallelism
- Dig into the syntax of Go’s memory synchronization primitives
- Form patterns with these primitives to write maintainable concurrent code
- Compose patterns into a series of practices that enable you to write large, distributed systems that scale
- Learn the sophistication behind goroutines and how Go’s runtime stitches everything together
Table of Contents
- 1. An Introduction to Concurrency
- 2. Modeling Your Code: Communicating Sequential Processes
- 3. Go’s Concurrency Building Blocks
- 4. Concurrency Patterns in Go
- 5. Concurrency at Scale
- 6. Goroutines and the Go Runtime
- A. Appendix
- Title: Concurrency in Go
- Release date: August 2017
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491941294