This course focuses on lock-free data structures in Go. It covers atomic operations, memory ordering, and lock-free algorithms. Students will learn how to implement and use lock-free data structures like queues and stacks, as well as understand the benefits and challenges of lock-free programming.
Overview
Syllabus
- Unit 1: Atomic Operations in Go
- Run: Atomic Load/Store, Add, and CAS in Go
- Atomic Trap Signal with a Ready Flag in Go
- Ensure Plan Visibility with Atomic Load and Store in Go
- Implement VillainVault with Atomic Loads and Stores in Go
- Unit 2: Implementing Lock Free Stacks
- Run the Lock-Free Stack with Goroutines in Go
- Complete the Lock-Free Stack in Go
- Build a Lock-Free Book Stack Using Atomic Operations in Go
- Lock-Free GadgetStack in Go: Add and Remove with Atomic Operations
- Unit 3: Implementing Lock Free Queues
- Run a Lock-Free Queue with Atomic Operations in Go
- Implement Lock-Free Queue Push in Go
- Implement Pop in a Lock-Free Queue in Go
- GuardianQueue Lock-Free Queue in Go
- Unit 4: Applying Go Memory Model
- Lock-Free Stack Demo Using Go's Atomic Operations
- Add Atomic Load and CAS to a Lock-Free Stack in Go
- Lock-Free Queue with Atomic Operations in Go
- Lock-Free HeroStack in Go with Atomic Operations