Concurrency Patterns and Synchronizationsync.WaitGroup, Mutex, errgroup, worker pools, and the race detector