5910 Breckenridge Pkwy Suite B, Tampa, FL. 33610
(800) 272-0707

SkillSoft Explore Course

IT Professional Curricula     Software Development Solution Area     Go     Advanced Programming in Go
Goroutines are foundational components of Go's concurrency model. Goroutines may be considered units of execution in a Go program. Goroutines are very lightweight with small stack sizes. Consequently, millions of Goroutines may be spawned at about the same time on modest hardware.
In this course, you'll explore Goroutines and how they implement the packages sync and sync/atomic. You'll investigate race conditions in Goroutines and explore race conditions versus data races. Next, you'll create and work with WaitGroups, implement atomic operations and see how mutexes are used with Goroutines. Lastly, you'll create and explore how to detect and avoid race conditions in Goroutines.

Objectives

Advanced Programming in Go: Goroutines

  • discover the key concepts covered in this course
  • describe Goroutines and how they fit in Go's concurrency model
  • create and execute a simple Goroutine
  • work with Goroutines and closures
  • work with anonymous Goroutines
  • describe how the packages sync and sync/atomic are used in concurrent programming
  • create and use WaitGroups in Goroutines
  • define and execute atomic operations in Go
  • create and use Mutexes in Go programs
  • describe race conditions and how they affect Go programs
  • simulate a race condition in a Go program and study its affects
  • compare and contrast race conditions versus data race conditions
  • utilize programming methods to avoid race conditions
  • utilize programming tools in Go that help detect race conditions
  • summarize the key concepts covered in this course