Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

CodeSignal

Introduction to Go Concurrency

via CodeSignal

Overview

This course provides an introduction to concurrency in Go. It covers fundamental concepts, including goroutines, the Go Memory Model, and basic synchronization techniques. Students will learn how to create and manage goroutines, understand data sharing between goroutines using primitive approaches, and grasp the importance of synchronization to prevent concurrency issues like race conditions.

Syllabus

  • Unit 1: Introduction to Go Concurrency
    • Run Your First Goroutine
    • Pass a Parameter to a Goroutine with WaitGroup
    • Fix the Goroutine Synchronization Bug
    • Launching a Goroutine with WaitGroup
    • Launch a Goroutine with a Message and WaitGroup
  • Unit 2: Goroutine Lifecycle and Operations
    • Goroutine Creation and Management with WaitGroup and Independent Goroutine
    • Run Goroutines Without Waiting
    • Fix Goroutine Completion with WaitGroup
    • Managing Goroutines with WaitGroup and Anonymous Function
    • Goroutine Management with WaitGroup and Anonymous Goroutine
  • Unit 3: Synchronizing Shared Data
    • Run a Synchronized Counter with sync.Mutex in Go
    • Fix Mutex Bug in Go SynchronizedCounter
    • Goroutine-Safe Counter with Mutex and WaitGroup
    • Synchronized Counter with Goroutines, Mutex, and WaitGroup
  • Unit 4: Simple Concurrent Application
    • Run Concurrent File Downloads with Goroutines
    • Synchronize Goroutine Output Using sync.Mutex
    • Concurrent Order Processing with Goroutines and WaitGroup
    • Concurrent File Downloader with Goroutines and WaitGroup
    • Concurrent Message Sender with Goroutines and WaitGroup
    • Concurrent Photographers with Goroutines, Mutex, and WaitGroup

Reviews

Start your review of Introduction to Go Concurrency

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.