Анатомия Go: Как работает планировщик горутин на самом деле
Это пересказ, составленный ИИ, — видео канала Николай Тузов — Golang длительностью 1 ч 54 мин «Анатомия Go: Как работает планировщик горутин на самом деле», опубликовано 2 марта 2025 г.. Полная расшифровка сжата до 10 тезисов с переходом по таймкодам.
Пересказ
Этот ролик подробно разбирает внутреннее устройство планировщика Go, объясняя его эволюцию от базовых концепций конкурентности до сложных механизмов управления горутинами, тредами и системными вызовами для достижения эффективной и дешевой параллельной работы.
Тезисы
- Понимание внутренних механизмов планировщика 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 включает элементы вытесняющей многозадачности, позволяя принудительно прерывать долго выполняющиеся горутины для предотвращения зависаний.
Пересказ любого видео с YouTube — бесплатно
Вы только что прочитали пересказ этого видео. Вставьте ссылку на любое другое — получите тезисы с таймкодами за секунды. Без регистрации, 5 в день бесплатно.
Ещё материалы
Другие пересказы
11 минОтпусти ситуацию и она разрешится: простой принцип изменить свою жизнь — Вадим Зеланд
Видео объясняет, что отпускание ситуации и принятие ее такой, какая она есть, освобождает от стресса и тревоги, открывая новые возможности, вместо того чтобы пытаться контролировать все аспекты жизни,

НЕОБХОДИМО ПОЗВОЛИТЬ СЕБЕ ИМЕТЬ [2023] Трансерфинг
Для достижения богатства и исполнения желаний необходимо не только хотеть или действовать, но и глубоко внутренне "позволить себе иметь" желаемое, согласовывая душу и разум, преодолевая ограничивающие
9 минРЕАЛЬНОСТЬ ОТРАЖАЕТ НАШИ ОЖИДАНИЯ [2024] Трансерфинг просто!
Видео объясняет, как наша реальность формируется через ментальные фильтры, убеждения и сознательное управление вниманием, подчеркивая важность баланса и отказа от избыточной значимости для воплощения
10 мин100% РАБОЧАЯ ТЕХНИКА “КВАНТОВЫЙ ПЕРЕХОД” ЗАПУСКАЕТ НОВУЮ РЕАЛЬНОСТЬ [2023] Трансерфинг просто!
Видео представляет мощную медитативную технику для вхождения в состояние своего нового, усовершенствованного «я» и приближения желаемой реальности через подготовку, обнуление, слияние с аватаром и инт
1 ч 41 минURGENT UPDATE - Iran War Expert: A Mass Casualty Attack Is Coming! | Robert Pape
Видео анализирует эскалацию конфликта между США и Ираном, подчеркивая растущую мощь Ирана благодаря контролю над Ормузским проливом, надвигающийся глобальный экономический кризис из-за нехватки нефти