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

CodeSignal

Concurrency Essentials in Go

via CodeSignal

Overview

This course delves into the core concepts of Go concurrency. It covers synchronization mechanisms, including atomic operations and mutexes. Students will learn about the Go Memory Model, inter-goroutine communication using condition variables, lock-free programming with atomic variables, and how to avoid common concurrency issues like deadlocks and race conditions.

Syllabus

  • Unit 1: Go Atomic Synchronization
    • Atomic Counter in Go: Implement incrementBy
    • Fix Atomic Counter in Go with Goroutines
    • Atomic Counter with sync/atomic in Go
    • Synchronized Awards Counter with sync/atomic
    • Atomic Song Play Counter with sync/atomic
  • Unit 2: Go Condition Variables
    • Waiting for Two Conditions with sync.Cond in Go
    • Switch to sync.Cond.Signal to Wake One Goroutine at a Time
    • Fix the Condition Variable Wait Logic in Go
    • Goroutines Wait for Mission with sync.Cond
    • Mission Launch Synchronization with sync.Cond
    • Synchronize Goroutines with sync.Cond
  • Unit 3: Avoiding Go Deadlocks
    • Fix Deadlock by Acquiring Mutexes in a Consistent Order
    • Fix Deadlock with Consistent Mutex Ordering in Go
    • Avoid Deadlocks with Consistent Mutex Ordering in Go
    • Avoid Deadlocks with Consistent Lock Ordering and Defer
    • Prevent Deadlocks with Consistent Mutex Ordering in Go
  • Unit 4: Go CAS Operations
    • Update CAS Counter to Add Two
    • Fix the CAS Bug in a Lock-Free Go Counter
    • CAS-Based Lock-Free Superhero Strength Counter in Go
    • Lock-Free SuperPower Counter Using CAS in Go
    • Lock-Free Complex Counter with CAS in Go

Reviews

Start your review of Concurrency Essentials in Go

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.