Concurrent Programming in Go
Modern software systems must operate with a high degree of concurrency to take advantage of the hardware they are running on. This course will teach you how to get the most out of Go's features to build robust and elegant concurrent programs.
What you'll learn
One of Go’s primary design goals is to simplify the creation of concurrent programs. In this course, Concurrent Programming in Go, you’ll learn how to do just that. First, you’ll warm up by reviewing Go’s essential concurrency tools - goroutines and channels. Next, you’ll explore these constructs to learn their full capabilities. You’ll learn some design patterns that allow concurrent systems that are predictable and well-organized. Finally, you’ll learn about other features Go offers to ensure your concurrent programs are efficient and well-behaved. When you’re finished with this course, you’ll have the skills and knowledge of Go’s concurrency needed to create robust, clear, and efficient concurrent programs with Go.
Table of contents
- Introduction 1m
- Non-blocking Error Channels 4m
- Encapsulating Goroutines 4m
- Demo: Non-blocking Error Channels and Encapsulating Goroutines 5m
- Messaging Patterns 2m
- Demo: Single Producer, Single Consumer Messaging 5m
- Demo: Single Producer, Multiple Consumer Messaging 3m
- Demo: Multiple Producer, Single Consumer Messaging 7m
- Demo: Multiple Producer, Multiple Consumer Messaging 5m
- Summary 3m