Назад к вопросам
Senior
2
Куда попадают горутины при создании — в локальную или глобальную очередь планировщика Go?
Компании, где спрашивали
Базис
Ответ от нейросети
sobes.tech AI
При создании горутины в Go она попадает в локальную очередь планировщика (local run queue), которая принадлежит конкретному M (машине — системному потоку).
Go runtime использует модель M:N, где M — системные потоки, а G — горутины. Каждая M имеет свою локальную очередь горутин для выполнения. Если локальная очередь переполняется или пуста, планировщик может балансировать горутины между локальными и глобальной очередью.
Таким образом, новая горутина сначала ставится в локальную очередь планировщика, что позволяет эффективно использовать кэш процессора и снижать накладные расходы на переключение контекста.