Concurrent Programming with Go
In this course, you will learn about Go’s concurrency system and learn how to use goroutines, channels, and the sync package to build robust, highly concurrent applications.
What you'll learn
Taking advantage of the processing power of today's multi-core computers is a challenge that every developer faces. In this course, Concurrent Programming with Go, you will gain the ability to use Go's powerful tools that allow multi-threaded programs to be written in a clear, easily understood manner. First, you will learn how to use goroutines to initiate concurrent tasks. Then, you will explore the sync package and how to use it to coordinate goroutines. Finally, you will discover channels and how they compliment and complete the coordination features of the sync package. When you are finished with this course, you will have the skills and knowledge of Go's concurrency model needed to write safely, highly concurrent applications.
Table of contents
- Introduction 2m
- Introduction to Channels 2m
- Overview of Channels 1m
- Creating Channels 1m
- Demo: Unbuffered Channels 6m
- Demo: Buffered Channels 2m
- Channel Types 2m
- Demo: Channel Types 3m
- Closing Channels 2m
- Demo: Working with Closed Channels 3m
- Channels and Control Flow 1m
- Using Channels with If Statements 2m
- Using Channels in Loops 3m
- Select Statements 3m
- Demo: Using Select Statements 7m
- Summary 4m