Go Concurrency First Steps
Concurrency fundamentals and patterns in Go
Topic: Software Development
Concurrency is a hard concept to grasp. It’s also quite difficult for developers to properly implement without extensive knowledge and practice. But it’s necessary for certain problems where speed is of the essence.
Go is known for its simple-to-use concurrency primitives. (Unlike in many other languages, concurrent execution was a day-0 implementation in Go.) Go concurrency allows you to easily write concurrent programs and scale your applications.
Join expert Mofi Rahman for an introduction to Go concurrency. In just three hours, you’ll learn a set of basic patterns to use concurrency in your everyday Go projects.
What you'll learn-and how you can apply it
By the end of this live online course, you’ll understand:
- How Go concurrency works
- How to write concurrent Go programs
- Common Go concurrency patterns
And you’ll be able to:
- Use Go concurrency for your project
- Avoid common pitfalls and mistakes in concurrent algorithms
This training course is for you because...
- You want to understand Go concurrency and write concurrent applications.
- You want to make your applications faster.
- A computer with Go 1.13+ installed and configured (Optional: Install an editor with Go support—VS Code + the Go extension, for example.)
- A working knowledge of Go
- Familiarity working in a terminal
About your instructor
Mofizur Rahman (@moficodes) is a Developer Advocate at IBM. His area of interests include container orchestration and microservices. His favorite programming language these days is Go. He also tinkers with Node, Python and Java. He is also learning and teaching Go, Kubernetes, Docker and Microservice community. He is a strong believer of the power of open source and importance of giving back to the community. He is a self-proclaimed sticker collecting addict and has collected several boxes full of stickers with no signs of stopping. He sometimes dabbles in photography.
The timeframes are only estimates and may vary according to how the class is progressing
Introduction to concurrency primitives (55 minutes)
- Presentation: What is concurrency?; What is parallelism?; concurrency in Go; concurrency primitives in Go; Go channels
- Group discussion: Hands-on concurrency with Go
- Hands-on exercises: Clone course repo; run through examples
Break (5 minutes)
Concurrency patterns (55 minutes)
- Presentation: Common concurrency patterns; When are patterns useful?; concurrency anti-patterns and improvements
- Hands-on exercises: Explore concurrency patterns; investigate good patterns
Break (5 minutes)
Common use cases and pitfalls to avoid (60 minutes)
- Presentation: When to use concurrency; common mistakes to avoid
- Hands-on exercise: Determine when to use concurrency