Анатомия Go: Как работает планировщик горутин на самом деле
By Николай Тузов — Golang · more summaries from this channel
1 hr 54 min video·ru··112540 views
This is an AI-generated summary of “Анатомия Go: Как работает планировщик горутин на самом деле” — a 1 hr 54 min YouTube video by Николай Тузов — Golang, published March 2, 2025. It condenses the full transcript into 10 key takeaways with clickable timestamps.
Summary
Этот ролик подробно разбирает внутреннее устройство планировщика Go, объясняя его эволюцию от базовых концепций конкурентности до сложных механизмов управления горутинами, тредами и системными вызовами для достижения эффективной и дешевой параллельной работы.
Key Points
- —Понимание внутренних механизмов планировщика Go критически важно для оптимизации кода, особенно при работе с I/O-bound, CPU-bound задачами, файлами и сетью.
- —Go-планировщик разработан для обеспечения дешевой и эффективной конкурентной работы, максимально задействуя ядра процессора и упрощая асинхронное выполнение задач.
- —Планировщик Go реализует модель M:N, где множество горутин выполняются на ограниченном количестве системных тредов, что позволяет создавать тысячи горутин с минимальными накладными расходами.
- —Go использует концепцию горутин — легковесных "пользовательских" тредов, управляемых планировщиком Go, в отличие от системных тредов, управляемых операционной системой.
- —Механизм "Work Stealing" позволяет простаивающим процессорам забирать половину работы из локальных очередей других, более загруженных процессоров, обеспечивая балансировку нагрузки.
- —Для эффективного распределения работы и минимизации блокировок, планировщик использует модель GMP (Goroutine, Machine, Processor) с локальными очередями (LRQ) для каждого процессора и глобальной очередью (GRQ).
- —Для обработки блокирующих системных вызовов (например, работа с файлами), Go использует механизм "Hand-off", создавая новый системный тред для выполнения других горутин, пока заблокированный тред ожидает.
- —Сетевые операции и другие неблокирующие системные вызовы обрабатываются через "Network Poller", который позволяет горутинам ожидать ответа, не блокируя системные треды и не создавая новые.
- —System Monitor (SimoN) играет ключевую роль в планировщике, отслеживая время выполнения горутин, инициируя Hand-off для долгих syscall'ов и перемещая долго ожидающие горутины из Network Poller'а в GRQ.
- —Планировщик Go является кооперативным, но с версии 1.14 включает элементы вытесняющей многозадачности, позволяя принудительно прерывать долго выполняющиеся горутины для предотвращения зависаний.
Copy All
Share Link
Bookmark
More Resources
Get key points from any YouTube video in seconds
More Summaries

Отпусти ситуацию и она разрешится: простой принцип изменить свою жизнь — Вадим Зеланд
11 min·ru
![НЕОБХОДИМО ПОЗВОЛИТЬ СЕБЕ ИМЕТЬ [2023] Трансерфинг](/_next/image?url=https%3A%2F%2Fi.ytimg.com%2Fvi_webp%2F7hxck4wGlYc%2Fmqdefault.webp&w=3840&q=75)
НЕОБХОДИМО ПОЗВОЛИТЬ СЕБЕ ИМЕТЬ [2023] Трансерфинг
ru
![РЕАЛЬНОСТЬ ОТРАЖАЕТ НАШИ ОЖИДАНИЯ [2024] Трансерфинг просто!](/_next/image?url=https%3A%2F%2Fi.ytimg.com%2Fvi_webp%2FS5Nu_he5e6w%2Fmqdefault.webp&w=3840&q=75)
РЕАЛЬНОСТЬ ОТРАЖАЕТ НАШИ ОЖИДАНИЯ [2024] Трансерфинг просто!
9 min·ru
![100% РАБОЧАЯ ТЕХНИКА “КВАНТОВЫЙ ПЕРЕХОД” ЗАПУСКАЕТ НОВУЮ РЕАЛЬНОСТЬ [2023] Трансерфинг просто!](/_next/image?url=https%3A%2F%2Fi.ytimg.com%2Fvi_webp%2FBdPiyYh2tUY%2Fmqdefault.webp&w=3840&q=75)
100% РАБОЧАЯ ТЕХНИКА “КВАНТОВЫЙ ПЕРЕХОД” ЗАПУСКАЕТ НОВУЮ РЕАЛЬНОСТЬ [2023] Трансерфинг просто!
10 min·ru

The most powerful AI Agent I’ve ever used in my life
9 min·ru