SUPERCHARGE your code for maximum performance on modern hardware
☑ Fundamentals of concurrency – what it is, how it works in any language
☑ The complete set of tools and techniques for implementing concurrency with the Go programming language
☑ Confidence, experience and sample code to quickly implement concurrency into your own projects.
☑ Downloadable resources include dozens of code samples, course slides, cheat sheets and more.
Are you ready to tackle one of the most exciting and important features of the Go language?
According to the most recent developer surveys, Go(lang) is one of the world’s most desired and loved languages, and its developers are among the highest paid in the world. Go is also the top language that companies are planning to migrate to, meaning that your Go skills are likely future-proof for many years to come.
Concurrency is considered to be a very advanced topic within Golang, and some comprehensive Go courses do not address it at all. Yet we believe that with just a reasonable number of hours of effort, you can be on your way, comfortable with concurrency and ready to add asynchronous features to your next programming project.
This course is for ANYONE interested in concurrency, especially in the Go programming language. There are no strict prerequisites, but knowledge of computer programming principles and the Go language will be very helpful.
This relatively short course covers ALL the essentials of concurrency – theory, syntax, coding examples, and downloadable copies of all visual materials.
Specifically, we will cover:
- Concurrency theory, terminology, trends, benefits, and challenges
- Goroutines
- Blocking code
- Wait groups
- Channels
- IO bound vs CPU bound code with examples of each
- Race conditions
- Mutexes
- Condition variables
- Atomic variables
- Concurrency patterns
This course is offered at an affordable price, saving you weeks or months of digging through YouTube videos or purchasing other courses just to get up and running with concurrency.
Enroll today and be on your way! See you soon.
English
Language
Welcome and Course Qverview
Welcome! I’m glad you’re here
Course Introduction
How this course works
Classroom Overview
Understanding Concurrency – Trends, Benefits and Challenges
Everyday Concurrency
Understanding the Terminology
Trend #1 – Latency
Trend #2 – Multiple CPU Cores
Summary of Benefits and Challenges
Pop Quiz: Understanding Concurrency
Setting Up Your Custom Development Environment
Installing Go, Course Resources and Your IDE
Using Multiple Screens and Other Physical Considerations
Download or RE-Download Course Resources
Creating Your First Goroutine
Let’s try it….
Pop Quiz: Goroutines
Understanding Blocking Code
What exactly does “blocking” mean?
Using Wait Groups to Track Goroutine Status
Wait Groups Overview
Coding Example
Pop Quiz: Wait Groups
Using Channels to Communicate with Goroutines
Purpose and Syntax Overview
Using Channels in our Code
Using Channels to Synchronize Goroutines
Pop Quiz: Channels
Understanding IO-bound vs CPU-bound Processes
IO-bound vs CPU-bound Intro
CPU-bound Demos
IO-bound Demos
IO-bound vs CPU-bound Summary
Pop Quiz: IO Bound vs CPU Bound Code
What could go wrong? Race Conditions
Race Condition Intro Demo
Race Condition Intro
Race Condition Solutions – Mutex, Atomic Variables
Race Condition Solution Demo
Condition Variables Demo
Pop Quiz: Race Conditions
Concurrency Patterns
Worker Pools
Wrap Up! and Closing Credits
Congratulations!
Reminder of course resources…
Closing Credits