Working with Concurrency in Go (Golang)
Learn the advantages and pitfalls of concurrent programming with the Go programming language
Created by Trevor Sawler | 9.5 hours on-demand video course
In this course, we’ll cover the use of WaitGroups, Mutexes, and Channels, and we’ll do so in detail. We’ll also cover some of the problems inherent in concurrency, including early program termination and race conditions. Initially, we’ll gain a good understanding of how these things work by solving some of the classic problems found in the field of computer science, including the Dining Philosophers, the Producer/Consumer problem, and the Sleeping Barber. These problems are classics for a reason: they force a developer to figure out the best approach to working with code that run concurrently, or in parallel.
Finally, we’ll finish the course out with a more “real-world” problem, where we have to register a customer for some kind of subscription service, and take care of invoicing, registration, and all the things necessary to get a new customer up and running. We’ll do so, naturally, as quickly as we can by dividing the necessary tasks up into smaller tasks, and having them run concurrently.
What you’ll learn
- Learn about the various ways Go makes working with concurrent programing simple
- Understand how concurrency works, and its advantages and pitfalls
- Learn how WaitGroups, Mutexes, and channels work
- Master concurrency by working with classic computer science problems, and by building a real-world example