This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Concurrency In Go!
Welcome and Course Overview
Welcome! I'm glad you're here (1:54)
Course Introduction (3:35)
How this course works (2:52)
Classroom Overview (2:46)
Understanding Concurrency - Trends, Benefits and Challenges
Everyday Concurrency (1:46)
Understanding the Terminology (5:33)
Trend #1 - Latency (5:38)
Trend #2 - Multiple CPU Cores (7:14)
Summary of Benefits and Challenges (1:19)
Pop Quiz!
Setting Up Your Custom Development Environment
Installing Go, Course Resources and Your IDE (3:51)
Using Multiple Screens and Other Physical Considerations (2:12)
Download or RE-Download Course Resources
Creating Your First Goroutine
Let's try it.... (4:36)
Pop Quiz!
Understanding Blocking Code
What exactly does "blocking" mean? (2:21)
Using Wait Groups to Track Goroutine Status
Wait Groups Overview (2:18)
Coding example (3:47)
Pop Quiz
Using Channels to Communicate with Goroutines
Purpose and Syntax Overview (4:48)
Using Channels in our Code (6:54)
Using Channels to Synchronize Goroutines (7:57)
Pop Quiz!
Understanding IO-bound vs CPU-bound Processes
IO-bound vs CPU-bound Intro (1:47)
CPU-bound Demos (8:49)
IO-bound Demos (5:32)
IO-bound vs CPU-bound Summary (2:31)
Pop Quiz!
What could go wrong? Race Conditions
Race Condition Intro Demo (3:08)
Race Condition Intro (3:02)
Race Condition Solutions - Mutex, Atomic Variables (4:00)
Race Condition Solution Demo (4:44)
Condition Variables Demo (5:53)
Pop Quiz!
Concurrency Patterns
Worker Pools (8:17)
Wrap Up and Closing Credits
Congratulations!
Reminder of Course Resources
Closing Credits
What exactly does "blocking" mean?
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock