Конкурентность в Go
Паттерны конкурентности: worker pool, fan-in/fan-out, errgroup и graceful shutdown
Уроки курса (6)
- Горутины под капотом: планировщик и GMP — Как Go runtime управляет горутинами, модель GMP, stack growth, утечки горутин
- Каналы: паттерны и подводные камни — Buffered vs unbuffered, directional channels, select, deadlock, done-channel
- Пакет sync: мьютексы, пулы и одноразовая инициализация — sync.Mutex, RWMutex, WaitGroup, Once, Map, Pool - когда что использовать
- Паттерны: fan-in, fan-out, pipeline, worker pool — Продвинутые паттерны конкурентности для параллельной обработки данных
- errgroup и graceful shutdown — golang.org/x/sync/errgroup, context cancellation, signal.NotifyContext, graceful shutdown HTTP-сервера
- Race conditions и тестирование конкурентного кода — go run -race, типичные гонки данных, тестирование конкурентного кода, t.Parallel()