Sobes.tech
Назад к вопросам
Senior
4

Какие состояния есть у горутины?

Компании, где спрашивали
sber tech

Ответ от нейросети

sobes.tech AI

Горутина в Go может находиться в нескольких состояниях, отражающих её жизненный цикл и текущее поведение:

  • Runnable (готова к выполнению) — горутина готова к запуску и ожидает выделения процессорного времени.
  • Running (выполняется) — горутина в данный момент выполняется.
  • Waiting (ожидание) — горутина приостановлена, ожидает события, например, получения из канала, освобождения мьютекса или таймера.
  • Syscall (системный вызов) — горутина выполняет системный вызов и временно не может быть переключена.
  • Dead (завершена) — горутина завершила выполнение.

Эти состояния управляются планировщиком Go (scheduler), который распределяет горутины по системным потокам (M) и виртуальным процессорам (P).