Sobes.tech
Back to questions
Senior
5

Создаётся ли на каждую горутину новый поток в операционной системе?

Companies where asked
ВкусВиллВкусВилл

Answer from AI

sobes.tech AI

Нет, на каждую горутину в Go не создаётся отдельный поток операционной системы. Горутину можно рассматривать как лёгкую нить (lightweight thread), которая управляется планировщиком Go (runtime scheduler).

Go runtime использует модель M:N, где M — количество потоков ОС, а N — количество горутин. Планировщик распределяет множество горутин на меньшее число потоков ОС, эффективно используя системные ресурсы.

Это позволяет создавать тысячи и даже миллионы горутин без значительных накладных расходов, в отличие от системных потоков, которые более тяжеловесны.

Таким образом, горутины — это кооперативно планируемые задачи внутри одного или нескольких потоков ОС, а не 1:1 соответствие.