Назад к вопросам
Senior
4
Какие состояния есть у горутины?
Компании, где спрашивали
sber tech
Ответ от нейросети
sobes.tech AI
Горутина в Go может находиться в нескольких состояниях, отражающих её жизненный цикл и текущее поведение:
- Runnable (готова к выполнению) — горутина готова к запуску и ожидает выделения процессорного времени.
- Running (выполняется) — горутина в данный момент выполняется.
- Waiting (ожидание) — горутина приостановлена, ожидает события, например, получения из канала, освобождения мьютекса или таймера.
- Syscall (системный вызов) — горутина выполняет системный вызов и временно не может быть переключена.
- Dead (завершена) — горутина завершила выполнение.
Эти состояния управляются планировщиком Go (scheduler), который распределяет горутины по системным потокам (M) и виртуальным процессорам (P).