Skip to main content
Journey Uncommon Logo
JourneyUncommon
mediumGoworker pool patternSingle-choice MCQ

In this worker pool, the program deadlocks. What is the root cause?

jobs := make(chan int, 100) results := make(chan int, 10) var wg sync.WaitGroup for w := 0; w < 3; w++ { wg.Add(1) go func() { defer wg.Done() for j := range jobs { results <- j * 2 } }() } for i := 0; i < 50; i++ { jobs <- i } close(jobs) wg.Wait() for r := range results { _ = r }