Назад к вопросам
ВкусВилл
Senior
6
Создаётся ли на каждую горутину новый поток в операционной системе?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Нет, на каждую горутину в Go не создаётся отдельный поток операционной системы. Горутину можно рассматривать как лёгкую нить (lightweight thread), которая управляется планировщиком Go (runtime scheduler).
Go runtime использует модель M:N, где M — количество потоков ОС, а N — количество горутин. Планировщик распределяет множество горутин на меньшее число потоков ОС, эффективно используя системные ресурсы.
Это позволяет создавать тысячи и даже миллионы горутин без значительных накладных расходов, в отличие от системных потоков, которые более тяжеловесны.
Таким образом, горутины — это кооперативно планируемые задачи внутри одного или нескольких потоков ОС, а не 1:1 соответствие.